我有一个列表功能,允许用户将特定文章添加到个性化列表中。如果我在同一个列表中添加多个文章。列表在下拉菜单中重复。
示例:
我添加到特定列表的文章越多。所以它重复了。
数据库表
list | id | person_id | name | description
| 1 15 | Test List | null
data_list_ref | id | list_id | data_uid
| 1 | 1 | 9b888e1e9e
| 2 | 1 | jZ-mAtgh
查询
$lists = DB::table('list')
->leftJoin('data_ref_list', 'data_ref_list.list_id', '=', 'list.id')
->select('list.id', 'list.name', 'data_ref_list.data_uid')
->where('person_id', Auth::user()->person_id)
->get();
刀片实施
$ record-> key是当前的文章'正在浏览器中查看
@foreach($lists as $list)
@if($list->data_uid === $record->key)
// show the checked list
// user's cant add the same article twice to a specific list
@else
// show the user's other lists
@endif
@endforeach
答案 0 :(得分:-1)
尝试使用Eloquent:Relationships。
创建2个模型https://laravel.com/docs/5.3/eloquent#defining-models 一个用于"列表"和一个用于data_list_ref。
在模型"列表"与" data_list_ref"建立关系https://laravel.com/docs/5.3/eloquent-relationships#defining-relationships
像你这样在你的控制器中包含模型
use App\List;
现在,如果您想从" List"获取数据以及来自" data_list_ref"你这么称呼它
$list = List::where('person_id', Auth::user()->person_id)->get();
这是laravel获取数据的方式。