public function featuredimage()
{
return $this->belongsTo(Image::class, 'featured_image_id')->withDefault();
}
这让我:在模型[App \ Models \ Core \ Blog \ Post]上调用未定义的关系[featuredimage]。
任何想法为什么?
它应该按照文档工作:
https://laravel.com/docs/5.4/eloquent-relationships#updating-belongs-to-relationships
默认模型
belongsTo关系允许您定义默认模型 如果给定的关系为null,则返回。这种模式是 通常称为Null对象模式,可以帮助删除 代码中的条件检查。在以下示例中,用户 如果没有附加用户,关系将返回一个空的App \ User模型 到帖子:
public function user() { return $this->belongsTo('App\User')->withDefault(); }
我的laravel版本:5.4.27
我有两张桌子:
发布表格和图片表
在帖子表中我这样做:
$table->biginteger('featured_image_id')->nullable()->unsigned();
$table->foreign('featured_image_id')->references('id')->on('images')->onUpdate('cascade')->onDelete('cascade');
答案 0 :(得分:1)
我有同样的问题。您需要升级到最新的laravel版本,因为Callout View
方法可以从5.4.28开始。
要更新,只需运行:
withDefault