Модель
public function categories()
{
return $this->belongsToMany('App\Category', 'post_categories');
}
public function posts()
{
return $this->belongsToMany('App\Post', 'post_categories');
}
Контроллер
public $DEFAULT_LANGUAGE = 1;
public function store(Request $request)
{
$titles = $request->PostTitle;
$post = new Post();
$post->PostTitle = $titles[$this->DEFAULT_LANGUAGE];
$post->save();
$post->categories()->attach($request->categoryID[$this->DEFAULT_LANGUAGE]);
unset($titles[$this->DEFAULT_LANGUAGE]);
foreach ($titles as $key => $title) {
$post = new Post();
$post->PostTitle = $request->PostTitle[$key];
$post->save();
$post->categories()->attach($request->categoryID[$key]);
}
return response()->json($post);
Вид
<select class="form-control category-list" name="categoryID[]" multiple="multiple" data-placeholder="Pilih Kategori">
@foreach($categories as $category)
<option value="{{ $category->id }}">
{{ $category->CategoryName }}
</option>
@endforeach
</select>
Если у меня две категории, и я хочу выбрать все категории, почему я получаю только последнюю категорию? Я также пробовал использовать foreach, но получил смещение ошибки. Любая идея?
У меня есть две панели вкладок .. Я сохраняю два идентификатора категории на вкладке 1 и один идентификатор категории на вкладке 2 .. затем я нажимаю кнопку отправки .. ответ заголовка два идентификатора категории на вкладке 1, но в моей базе данных я получил только последнюю запись
- PostTitle [1]: sadasd
- categoryID [1]: 1
- categoryID [1]: 2
- PostTitle [2]: asdasd
- categoryID [2]: 1
Когда я консоль, он показывает два CategoryID ..
BelongsToMany
должно бытьbelongsToMany
- person linktoahref   schedule 20.09.2017$categories
в представление ?? - person Maraboc   schedule 20.09.2017$categories = Category::all(); dd($categories);
и сообщить нам, что вы получите? - person Maraboc   schedule 20.09.2017dd($request->input('categoryID'))
, посмотрим, что вы получите - person Jonjie   schedule 20.09.2017