I have three models related by a morph
relationship.
Shipment
can have multiple Status
instances, through a StatusHistory
class.
class Status extends Model {
//id, name
}
class Shipment extends Model {
public function latestStatus() {
return $this->morphOne('App\StatusHistory', 'model')->latest();
}
}
class StatusHistory extends Model {
public function model() {
return $this->morphTo();
}
}
I want to get all Shipment
entities where the latestStatus
has a specific Status
name value.
Shipment::whereHas('latestStatus', function($query) {
return $query->whereHas('status', function($query) {
return $query->where('name', 'reserved');
});
})->get();
This is not working and returns all entities that have a status of 'reserved', even though the latestStatus
can be something else.
Any thoughts?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire