电话:手机状态很多
Phone_status:手机很多
但我可以通过电话状态了解phone_status表中的最新状态
在手机型号中:
public function phoneStatus(){
return $this->hasOne(PhoneStatus::class, 'phone_id','id')->latest();
}
现在,我希望过滤所有手机的最新状态为“已售出”。 有些事情喜欢:
[
id=> 1,
name=> 'iphone XYZ',
phonestatus => [
phone_status => 'sold'
]
]
我在控制器中的代码:
$getProjectData = Phone::whereHas('phoneStatus', function ($query) use
($status) {
$query->latest()->where('status', 'like', '%'. $status.'%');
})->with(['phoneStatus' => function ($query) {
$query->orderBy('status', 'DESC');
}]);
我的问题: 虽然最新状态是“恢复”,但$ getProjectData总是返回所有手机都有“已售出”状态。 请帮助我解决:(
答案 0 :(得分:0)
在手机型号中添加此关系
public function allStatus(){
return $this->hasOne(PhoneStatus::class, 'phone_id','id');
}
在控制器中
$getProjectData = Phone::whereHas('allStatus', function ($query) use
($status) {
$query->where('status', 'like', '%'. $status.'%');
})->with(['allStatus' => function ($query) {
$query->where('status', 'like', '%'. $status.'%')->orderBy('status', 'DESC');
}])->get();