0
我正在使用Jquery Tag-it。当我传递标签 - 它的值给控制器并通过var_dump()检查它;所有的值完全后,但这个问题我是当它传递到DB将店只有最后一个值 ..请帮我出tag-it输入只存储数据库laravel中的最后一个值5.4
<input type="text" value="" data-role="tagsinput" id="tags" name="wish-tags" class="form-control">
控制器
$wishlist = Wishlist::firstOrNew(['user_id' => Auth::user()->id]);
if (!empty($wishlist)) {
$locations = $request->input('wish-tags');
//var_dump($locations); exit();
foreach (explode(",", $locations) as $location) {
$wishlist->update([
'user_id' => Auth::user()->id,
'locations' => $location,
]);
}
}
这是因为foreach循环而发生的。但目前还不清楚如何解决这个问题,而没有看到你使用的数据结构和关系。另外,通常您希望使用多对多关系来保存标签。 –
好的..但请解释如何在用户和Wishlist标签之间创建多对多的关系? –
您应该创建一个数据透视表和两个'belongsToMany()'关系。 https://laravel.com/docs/5.4/eloquent-relationships#many-to-many - 之后使用sync()方法来同步标记。 https://laravel.com/docs/5.4/eloquent-relationships#updating-many-to-many-relationships –