我正在一行一行地插入数据,但我听说如果有很多数据要插入,则需要很长时间。那么有什么方法可以一次把它们都插进去呢?
public function add(Request $request)
{
if ($request->ajax()) {
$books = $request->books;
foreach ($books as $book) {
if (!empty($book)) {
$add = new Book;
$add->name = $book;
$add->user_id = Auth::user()->id;
$add->save();
}
}
}
}
字符串
5条答案
按热度按时间eivgtgni1#
字符串
确保导入
use Illuminate\Support\Facades\Auth;
svujldwt2#
使用Model插入多条记录
正如其他人所指出的,使用查询构建器是一次插入多条记录的唯一方法。幸运的是,Laravel和Eloquent ORM以许多有用的方式耦合在一起。这种耦合允许您使用Model来获取为该Model设置的Query Builder示例。
字符串
2ul0zpep3#
你应该可以做下面这样的事情:
字符串
将所有要插入的值放入数组中,然后将其传递给insert函数。
来源:https://laravel.com/docs/5.1/queries#inserts
ha5z0ras4#
字符串
mkh04yzy5#
如果您需要Eloquent模型事件-没有其他方法可以插入多个模型。以其他方式-检查Anushan W答案