情况描述:
A表:用户领券信息表,字段:id,ticket_id,status
B表:券信息表,字段:id,ticket_info,status
在A模型中,有如下代码:
class A extend Model
{
public function getUserTicket($user_id)
{
$userTicketInfo = $this->field([
'status',
'ticket_id'
])
->where([
'user_id'=>$user_id,
'status'=>0
])
->with([
'B' => function($query) {
$query->field([
'id',
'ticket_info'
]);
}
])
->select();
return $userTicketInfo;
}
public function belongB()
{
return $this->belongsTo('B','ticket_id','id')->setEagerlyType(0);
}
}
现在按这种方式查找,能正确获得结果,但如果把setEagerlyType(0)改为setEagerlyType(1),会提示id、status不唯一的问题,想问题的是:
1、这种使用方式是否正确?
2、setEagerlyType(0)使用的是IN方式,改为setEagerlyType(1)原意是可以切换到join方式,但id、status不唯一的问题,这里要如何来写?