public function featuredimage()
{
return $this->belongsTo(Image::class, 'featured_image_id')->withDefault();
}
これは私に次のようなことができます:モデル[App \ Models \ Core \ Blog \ Post]で未定義の関係[featuredimage]を呼び出します。belongsToでwithDefault()を使用するとエラーが発生する
なぜですか?
それはドキュメントに従って動作するはずです:
https://laravel.com/docs/5.4/eloquent-relationships#updating-belongs-to-relationships
デフォルトモデル
belongsToの関係はあなたが一定の関係がnullの場合 が返されるデフォルトモデルを定義することができます。このパターンは と呼ばれることが多く、Nullオブジェクトパターンと呼ばれ、 条件付きチェックをコード内で削除できます。次の例ではユーザーがポストに 添付されていない場合、ユーザー 関係が空のApp \ユーザーモデルを返します。
public function user() { return $this->belongsTo('App\User')->withDefault(); }
私laravelバージョン:5.4.27
私は2つを持っていますテーブル:ポストテーブル内の
ポスト表や画像テーブル
私はこれを行う:
$table->biginteger('featured_image_id')->nullable()->unsigned();
$table->foreign('featured_image_id')->references('id')->on('images')->onUpdate('cascade')->onDelete('cascade');
あなたのデータベース設計を共有することができますか? –
私の質問 –
とあなたの画像テーブルを更新しましたか? –