Laravel 一对多模型关系不起作用

用户3574492

我有一个Booking可以有很多模型Service

我在 Booking 模型中定义了这样的关系:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use App\Service;

class Booking extends Model
{

    /**
     * Get the services for the booking.
     */
    public function services()
    {
        return $this->hasMany('App\Service');
    }
}

然后在我的BookingController我尝试获取当前预订的所有服务,如下所示:

    public function create()
    {       
        $services = Booking::find(1)->services;
        return view('bookings.create');
    }

我不断收到错误:

试图获取非对象的属性

不知道我在这里做错了什么。外键关系都设置好了。booking_idservices表格中有一引用idbookings表格。

任何帮助,将不胜感激。

滞后盒

在这种特殊情况下,问题可能是 Eloquent 找不到使用id == 1.

Booking::find(1);将查询 Booking for 的主键1如果未找到,它将返回null尝试将其null用作对象会出现“试图获取非对象的属性”错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章