Edv*_*erg 0 php laravel eloquent laravel-5
我正在尝试一次插入一个数组,我也想要更新,如果存在.但是我得到了这个错误.
$jobs = array();
//Iterate over the extracted links and display their URLs
foreach ($links as $link){
$data = get_job_info($link);
$jobs[] = [
'title' => $data['title'],
'full_desc' => $data['desc'],
'to_date' => $data['date'],
'ad_type' => 'fb'
];
}
}
DB::table('customer_position')->insert($jobs);
Run Code Online (Sandbox Code Playgroud)
你可以使用updateOrCreate()
方法,假设你有$jobs
变量中的作业列表:
foreach($jobs as $job) {
MyModel::updateOrCreate(['title' => $job['title']], $job);
}
Run Code Online (Sandbox Code Playgroud)
就像告诉Laravel,如果title
已经存在指定的作业,请更新它.否则将新作业保存到数据库.
如果你得到质量分配异常,你必须将$fillable
列定义为@AlexeyMezenin说.
如果需要,可以在模型上创建一个新的静态方法:
class MyModel extends Model
{
...
public static function bulkInsertOrUpdate(array $jobs)
{
foreach($jobs as $job) {
static::updateOrCreate(['title' => $job['title']], $job);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以打电话给MyModel::bulkInsertOrUpdate($jobs)
你的控制器.
归档时间: |
|
查看次数: |
2060 次 |
最近记录: |