私はUserモデルとNotificationモデルで多対多の関係を持っています。Laravelはループなしで多対多の関係にある多くのオブジェクトにオブジェクトを添付します
通知を作成し、多くのユーザーに接続するために、私は現在やっている:
$users = User::all();
$notification = new Notification(['title'=>'some title', 'body'=>'notification body']);
$notification->save();
foreach ($users as $user) {
$user->notifications()->attach([$notification->id]);
}
$users->count()
が非常に多くなった場合foreachの実装が理想的ではないでしょう。 多くのループがなくてもこれを行うには良い方法はありますか?
ありがとう
私はin-deptの説明に感謝します。私はEloquentがこれにループを使用することは全く考えていませんでした。私はいつもそれがいくつかのSQLの大量挿入クエリを介して行われたと思った。 – Sam
ソースコードを調べることは常に価値があります。あるいは、何かがどのように働くかについて多くを学ぶことができます。この場合、[このファイル](https://github.com/illuminate/database/blob/master/Eloquent/Relations/Concerns/InteractsWithPivotTable.php)の 'formatAttachRecords'メソッドを探します。私は自分の電話にいるので、正確な行番号にリンクすることはできません。 – fubar