我想从具有两个where子句的表中获取所有列记录,然后将每个列分配给一个变量以在某处调用。我已经尝试过了,但是调试错误日志文件
中有错误方法:
$user_match = MemberExtra::where('left_bv', '>=', 1)->where('right_bv', '>=', 1);
$user1 = $user_match->user_id;
$ref_id = $user1->referrer_id;
$ref_user = User::find($ref_id);
$user1 = $user_match->user_id;
$ref_id = $user1->referrer_id;
$ref_user = User::find($ref_id);
$ll_logg = LendingLog::where('user_id', $user1);
错误:
未定义的属性:Illuminate \ Database \ Eloquent \ Builder :: $ user_id
第二个错误:
此集合实例上不存在属性[user_id]。
此错误出现在第二行:
$user1 = $user_match->user_id; ///here is the error
我在做什么错?
答案 0 :(得分:0)
您要调用user_id
,它是model object实例或query builder实例上collection的属性,您需要使用{来获取实际对象例如{1}}
first()
答案 1 :(得分:0)
$user_match = MemberExtra::where([['left_bv', '>=', 1], ['right_bv', '>=', 1]])
->get()
->map(function($user_match) {
return [
'user_id' => $user_match->id,
'ref_id' => $user_match->referrer_id,
]
});