Iは、データベースへのマルチアレイを挿入するために、次のコードを使用します最短のコードを作成するには?
foreach($request->category as $k => $v){
$category[] = array(
"category_id" => $v,
"announcement_id" => $announcement->id
);
}
AnnouncementCategory::insert($category);
したがって、入力データがPOST配列$request->category
です。私はこのコード
をリファクタリングする必要が 私はこのコードを試してみました:モデルAnnouncement
で
$announcement->categories()->attach($request->category);
私が持っている:
public function categories()
{
return $this->hasMany("App\AnnouncementCategory", "announcement_id", "id");
}
hasManyです。なぜなら、 'categories'がある場所で' Announcement'モデルで作業するからです。それは動作しません – Darama
未定義のメソッドを呼び出す\ Database \ Query \ Builder :: attach() – Darama
@Darama私のコードで示したように、このbelongshpは 'belongsToMany'として定義されていますか? –