我有两个具有100多个列的表。 我想将除了一个列之外的所有列都加入两个表。
$ agents =代理人:: join('cities','cities.id','city_id)-> select('agents。*','cities.name as city')-> get(); >
。 。 现在加入所有代理表,但我不想要egents.user_id
答案 0 :(得分:1)
在模型中使用make hidden数组是很好的,使用makeHidden函数将列隐藏在需要序列化的地方:
$agents = agents::where('your query')->get();
$agents ->makeHidden(['user_id']);
return response()->json($agents);
我希望你喜欢
答案 1 :(得分:0)
我可以知道表格的内容吗? 像例子吗?
如果是laravel,我会这样:
DB::table('users')
->select('users.*','profiles.photo', 'profiles.one_by_one')
->join('profiles','profiles.id','=','users.id')
->where(['something' => 'something', 'otherThing' => 'otherThing'])
->get();
您只需取消选择您不想加入的列即可。
或
您可以尝试
DB::table('users')
->select('users.*','profiles.*')
->except('users.id')
OR
->exclude('users.id')
->join('profiles','profiles.id','=','users.id')
->where(['something' => 'something', 'otherThing' => 'otherThing'])
->get();
请进行测试
或
在模型laravel中,将其添加到您不想看到某些列的模型中。
protected $hidden = array('column_you_dont_want_to_see');