Laravel 多个 table 联接:如何将两个 table 与所有列联接,但一列除外
Laravel multiple table join: how to join two table with all columns and except one column
我有两个 table 超过 100 列。
我想将两个 table 与除一列之外的所有列连接起来。
$agents = agents::join('城市','cities.id','city_id)->select('agents.*','cities.name 作为城市')->get();
。
.
现在加入所有代理 table 但我不想 egents.user_id
我可以知道 table 的内容吗?
举个例子?
如果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');
在模型中使用 make hidden array 很好,使用 makeHidden 函数在需要的地方隐藏你的列:
$agents = agents::where('your query')->get();
$agents ->makeHidden(['user_id']);
return response()->json($agents);
希望你喜欢
我有两个 table 超过 100 列。 我想将两个 table 与除一列之外的所有列连接起来。
$agents = agents::join('城市','cities.id','city_id)->select('agents.*','cities.name 作为城市')->get();
。 . 现在加入所有代理 table 但我不想 egents.user_id
我可以知道 table 的内容吗? 举个例子?
如果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');
在模型中使用 make hidden array 很好,使用 makeHidden 函数在需要的地方隐藏你的列:
$agents = agents::where('your query')->get();
$agents ->makeHidden(['user_id']);
return response()->json($agents);
希望你喜欢