我想和他所有没有 etat="archiver" 的 disponibilites 一起找到位置
可用性
class Disponibilite extends Model
{
public function etat()
{
return $this->belongsTo('App\Etat');
}
}
地点
class location extends Model
{
public function disponibilite()
{
return $this->hasMany('App\Disponibilite');
}
}
etat是空的
class Etat extends Model
{
}
这是我试过的
$location = location::where("id", $id)
->with([
"locataire",
"prix",
"acceptations",
"distances",
"equipements",
"logement",
"language",
"photo",
"disponibilite" => function ($query) {
$query->with(["etat" => function ($q) {
$q->where("type", "!=", "archiver");
}]);
}
])
->first();
我修复了它,问题是有些行的 disponibilites 有一个 etat (NULL) 所以如果我在回调函数中测试了 etat (null) 的类型什么都不会发生所以我添加 OrWhere("etat_id",null ) 我用 wherehas 改变了
$location = location::with(
[
"locataire",
"prix",
"acceptations",
"distances",
"equipements",
"logement",
"language",
"photo",
"disponibilite" => function ($query) {
$query->whereHas("etat", function ($q) {
$q->where("type", "!=", "archiver");
})->Orwhere("etat_id", null);
}
]
)
->find($id);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句