我正在尝试使用DB
来构建一个类似的查询:
获取Distributors
所有属于User
的{{1}} Accounts
个Notes
。
我无法绕过那个问题。以下是我的工作原理,因为它会在一个数组中吐出我需要的信息但有两个问题:note
name
会覆盖account
name
,因为它们是两者都叫了,我不能通过$user->
替换2
工作(种类)
$user = Auth::user();
$accounts = DB::table('distributors')
->join('accounts', function ($join) {
$join->on('distributors.vip_abbv', '=', 'accounts.dist_abbv')
->where('distributors.user_id', '=', 2);
})
->join('notes', 'notes.account_id', '=', 'accounts.id')
->select('accounts.name', 'notes.*')
->get();
我需要什么
$ user = Auth :: user();
$accounts = DB::table('distributors')
->join('accounts', function ($join, $user) {
$join->on('distributors.vip_abbv', '=', 'accounts.dist_abbv')
->where('distributors.user_id', '=', $user->id);
})
->join('notes', 'notes.account_id', '=', 'accounts.id')
->select('accounts.name (this is overwritten. can I change it to come out account_name so it doesnt?)', 'notes.*')
->get();
答案 0 :(得分:0)
尝试使用此帐户名称:
->select('accounts.name as custom_account_name')
希望这有帮助。
答案 1 :(得分:0)
试试这个:
$user = Auth::user();
DB::table('distributors')
->join('accounts', function ($join) use ($user) {
$join->on('distributors.vip_abbv', '=', 'accounts.dist_abbv')
->where('distributors.user_id', '=', $user->id);
})
->join('notes', 'notes.account_id', '=', 'accounts.id')
->select('accounts.name as account_name', 'notes.*')
->get();