我有三张桌子(演员,电影和类别)使用四张桌子(图像)中的图像
他们处于多态关系中。
我希望用影像拍摄所有影片。
模特
- 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":[]
}
在数据库中,我看到image.id 7存在(image.jpg)
如何获取图像?
答案 0 :(得分:0)
为什么在你的电影模型中你没有看到这个
的外观public function image()
{
return $this->hasOne('App\Image', 'id', 'id_image');
}
来源:https://laravel.com/docs/5.6/eloquent-relationships#one-to-one