Php Laravel关系未加载到资源中?

Php Laravel关系未加载到资源中?,php,laravel,laravel-6,Php,Laravel,Laravel 6,我想加载订单与客户的关系,但它在邮递员中返回null 客户模型 我希望客户详细信息与订单一起加载。我设法解决了这个问题。实际上,manytone关系函数没有识别客户。customers函数的目标是多对一,因此根据laravel的标准,它应该是单数而不是复数 public function customer() { return $this->belongsTo('App\Customer'); } 在OrderController $order->load(array('

我想加载订单与客户的关系,但它在邮递员中返回
null



客户模型


我希望客户详细信息与订单一起加载。

我设法解决了这个问题。实际上,
manytone
关系函数没有识别
客户
customers
函数的目标是
多对一
,因此根据laravel的标准,它应该是单数而不是复数

public function customer()
{
   return $this->belongsTo('App\Customer');
}
OrderController

$order->load(array('customer')); // <- make it singular as well

我设法解决了那个问题。实际上,
manytone
关系函数没有识别
客户
customers
函数的目标是
多对一
,因此根据laravel的标准,它应该是单数而不是复数

public function customer()
{
   return $this->belongsTo('App\Customer');
}
OrderController

$order->load(array('customer')); // <- make it singular as well

我想您忘了在OrderResource文件中导入CustomerResource资源。是的。。我没有。然后添加它,然后检查您是否获得关系IP。没有更改。返回
null
我最终得到了关系。非常感谢您的回复我想您忘记在OrderResource文件中导入CustomerResource资源了。是的。。我没有。然后添加它,然后检查您是否获得关系IP。没有更改。返回
null
我最终得到了关系。非常感谢您的回复,请帮个忙,不要通过重新命名关系来快速、可持续地解决问题。当涉及到可维护性时,方法和变量的错误命名在有问题的错误列表中非常重要。考虑在三年内再次阅读此代码,同时查找bug。当该方法是复数形式时,您可能会忽略某些内容,因为您认为它返回的内容与实际不同。例如,
foreach($order->customers as$customer){…}
-你不会很快发现错误…@Namoshek我已经在我这边更新了它,但为了将来的参考和帮助他人,我也更新了我的答案。帮你自己一个忙,不要通过重新命名关系快速但可持续地修复它。当涉及到可维护性时,方法和变量的错误命名在有问题的错误列表中非常重要。考虑在三年内再次阅读此代码,同时查找bug。当该方法是复数形式时,您可能会忽略某些内容,因为您认为它返回的内容与实际不同。例如,
foreach($order->customers as$customer){…}
-你不会很快发现错误…@Namoshek我已经更新了我的答案,但为了将来的参考和帮助他人,我也更新了我的答案。
public function store(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'first_name' => ['required', 'string', 'max:10'],
            'last_name' => ['required', 'string', 'max:10'],
            'email' => ['required', 'string', 'email', 'max:50'],
            'phone_number' => ['required', 'string', 'max:30'],
            'post_code' => ['required', 'string', 'max:30'],
            'address' => ['required', 'string', 'max:300'],
            'alternative_address' => ['required', 'string', 'max:300'],
            'property_type' => ['required', 'string', 'max:30'],
            'contract_type' => ['required', 'string', 'max:30'],
            'no_of_bedrooms' => ['required', 'string', 'max:30'],
            'type_of_cleaning' => ['required', 'string', 'max:30'],
            'best_day' => ['required', 'string', 'max:30'],
            'best_day' => ['required', 'string', 'max:30'],
        ]);

        if ($validator->fails()) {
            return response()->json($validator->errors(), 422);
        }

        // $customer = Customer::findOrFail($request->customer_id);
        $order = Order::create($request->all());
        // $order = Order::create();
        $order->load(array('customers'));

        return new OrderResource($order);
    }
public function customer()
{
   return $this->belongsTo('App\Customer');
}
$order->load(array('customer')); // <- make it singular as well
'customer' => new CustomerResource($this->whenLoaded('customer')), // <- make it singular