[英]how to write pure query script select, update delete and insert in laravel?
[英]Laravel Insert/Update/Delete
我目前在下面有此代碼,但是當添加約2000行時,由於處於foreach循環中,因此運行速度太慢。
foreach($tables as $key => $table) {
$class_name = explode("\\", get_class($table[0]));
$class_name = end($class_name);
$moved = 'moved_' . $class_name;
${$moved} = [];
foreach($table[0]->where('website_id', $website->id)->get() as $value) {
$value->website_id = $live_website_id;
$value->setAppends([]);
$table[0]::on('live')->updateOrCreate([
'id' => $value->id,
'website_id' => $value->website_id
], $value->toArray());
${$moved}[] = $value->id;
}
// Remove deleted rows
if ($table[1]) {
$table[0]::on('live')->where([ 'website_id' => $live_website_id ])
->whereNotIn('id', ${$moved})
->delete();
}
}
發生的事情基本上是用戶將在開發服務器中添加/更新/刪除數據,然后當他們按下按鈕時,該數據需要被推送到活動表中,保留該ID,因為實時的自動增量ID將無法使用查找表和多個用戶同時實時啟動數據。
做這個的最好方式是什么? 我是否應該簡單地刪除該表中的所有數據(數據塊有唯一的標識符)然后插入?
我認為可以做到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.