我在数据库中有数据需要进行peridocially更新.数据源返回在该时间点可用的所有内容,因此将包含数据库中尚未存在的新数据.
当我遍历源数据时,我不希望在可能的情况下进行1000次单独写入.
有什么比如update_or_create批量生产吗?
一种想法是update_or_create与手动事务结合使用,但我不确定这是否只是将单个写入排队或是否将它们全部合并到一个SQL插入中?
或者类似地可以@commit_on_success()在一个函数update_or_create内部使用循环工作?
除了翻译数据并将其保存到模型之外,我没有对数据做任何事情.没有什么依赖于循环期间存在的模型
我正在尝试使用一组带有额外文本输入的选项创建一个表单字段,如果您选择"其他",则需要填写这些输入:
How often do you exercise?
(*) I do not exercise at the moment
( ) Once a month
( ) Once a week
( ) Once a day
( ) Other, please specify: [ ]
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用ChoiceType我设置的地方choices:
$form->add('exercise', Type\ChoiceType::class, array(
'label' => 'How often do you exercise?',
'choices' => [ 'I do not excerise at the moment' => 'not', ... ],
'expanded' => true,
'multiple' => false,
'required' => true,
'constraints' => [ new Assert\NotBlank() ], …Run Code Online (Sandbox Code Playgroud) 在这里,我想清楚地解释我的问题
能够上传多个文件,但问题是我的邮件中没有附加文件,只接收一个附件,在服务器中所有文件都被保存
$model->attachment = UploadedFile::getInstances($model, 'attachment');
$files = '';
if ( $model->attachment )
{
foreach ($model->attachment as $file)
{
$file->saveAs('emailattachments/' .$file->baseName. '.' . $file->extension);
$files = 'emailattachments/' .$file->baseName. '.' . $file->extension;
$model->attachment = $files;
}
}
if( $model->attachment )
{
$value = Yii::$app->mailer->compose()
->setFrom([ Yii::$app->user->identity->email => 'Sample Mail'])
->setTo($model->email)
->setSubject($model->subject)
->setHtmlBody($model->content)
->attach($model->attachment)
->send();
}
Run Code Online (Sandbox Code Playgroud)
上传多个文件,但在发送邮件时,只收到一个附件本身.我该如何解决这个问题?