Я использую следующий код для вставки несколько массива в базу данных:Как сделать кратчайший код?
foreach($request->category as $k => $v){
$category[] = array(
"category_id" => $v,
"announcement_id" => $announcement->id
);
}
AnnouncementCategory::insert($category);
Таким образом, входные данные POST массив $request->category
. мне нужно рефакторинг этого кода
Я попробовал этот код:
$announcement->categories()->attach($request->category);
В модели Announcement
у меня есть:
public function categories()
{
return $this->hasMany("App\AnnouncementCategory", "announcement_id", "id");
}
Должно быть hasMany, потому что я работаю с моделью 'Announcement', где есть« категории ». Он не работает – Darama
Звонок на неопределенный метод Illuminate \ Database \ Query \ Builder :: attach() – Darama
@Darama У вас есть это отношения hp, которое определяется как 'ownToMany', как я показал в своем коде? –