J'ai plusieurs modèles qui contiennent un champ polymorphe. Ces champs polymorphes contiennent chacun quatre ou cinq relations, certaines sont supprimables, d'autres non. Je suis confronté à un problème de type "damné si vous le faites, damné si vous ne le faites pas" et je ne sais pas comment le résoudre.
Si je charge avec un appel au chargement empressé sans inclure les trashed sur les modèles qui ont des softdeletes :
$deptRisks = \App\DeptRisk::with(['owner', 'riskable']);
J'obtiendrai l'erreur suivante sur les modèles qui ont été supprimés :
Essayer d'obtenir la propriété d'un non-objet
Si je charge AVEC le withTrashed pour les softdeletes :
$deptRisks = \App\DeptRisk::with(['owner', 'riskable' => function ($query) {
$query->withTrashed();
}]);
J'obtiendrai l'erreur suivante sur les modèles qui n'ont PAS été configurés en tant que soft-deletes :
Appel à une méthode non définie Illuminez \Database\Query\Builder ::withTrashed()
Je suis sûr que je rate quelque chose d'évident, mais je tourne en rond. Aidez-moi, s'il vous plaît.