Laravel从多态关系EMPTY中检索数据

时间:2018-03-15 21:19:52

标签: laravel eloquent polymorphic-associations

我有三张桌子(演员,电影和类别)使用四张桌子(图像)中的图像

他们处于多态关系中。

我希望用影像拍摄所有影片。

模特

- Film

    class Film extends Model
    {
        protected $fillable = ['name','image_id'];

        public function images()
        {
            return $this->morphMany('App\Comment', 'imageable');
        }
    }

- Images

    class Image extends Model
    {

        protected $fillable = [ 'image', 'imageable_id', 'imageable_type' ];

        public function imageable()
        {
            return $this->morphTo();.
        }
    }

电影控制器是这样的:

class FilmsController extends Controller
{

    public function index()
    {
        $films = Film::with('image')->get();

        return view('admin.films.index', compact('films', 'image'));
    }
}

但是我在index.blade.php

中得到一个空图像 像这样:

Films
{
"id":1,
"name":"This is a new film",
"image_id":7,
"created_at":"2018-03-15 20:35:26",
"updated_at":"2018-03-15 20:35:26",

"image":[]
} 

enter image description here

在数据库中,我看到image.id 7存在(image.jpg)

如何获取图像?

1 个答案:

答案 0 :(得分:0)

为什么在你的电影模型中你没有看到这个

的外观
public function image()
 {
    return $this->hasOne('App\Image', 'id', 'id_image');
 }

来源https://laravel.com/docs/5.6/eloquent-relationships#one-to-one