如何避免因 laravel 中的关系中断而出错?

How to avoid error because of relationship break in laravel?

我们有扩展太多的项目。现在的问题是表之间存在长期关系,例如 $product->purchaseorder->purchaseorderproduct->saleorders 如果其中任何一个被删除或未找到,系统会给出错误。有什么办法可以避免这些错误吗?

试试这个

data_get($product, 'purchaseorder.purchaseorderproduct.saleorders');

这确实取决于您希望验证所在的位置,在前端变成这样之前:

// Backend
// This makes sure all the nested relationships exist on the given model
Product::has('purchaseorder.purchaseorderproduct.saleorders')->get();

但是,如果您的验证位于前端,那么您或许应该使用 blade 使用此语法?

{{-- Frontend --}}
{{-- This makes sure no 500 errors occur within the frontend  --}}
@if(! is_null($product->purchaseorder->purchaseorderproduct->saleorders))
   {{-- Do something here if all passes --}}
@endif