ニュース記事からユーザーの名前をエコーアウトしようとする試みは失敗しているため、次のエラーになります:
ErrorException: Trying to get property of non-objectContext
モデル
クラスニュース拡張モデル { public function positsby() { return $ this-> belongsto( 'app \ user'); } } クラスユーザーはモデルを拡張します { 保護された$ fillable = ['name'、...]; }class News extends Model { public function postedBy() { return $this->belongsTo('App\User'); } } class User extends Model { protected $fillable = ['name', ...]; }
schema
{{$ article-> postsby-> name> name}}
説明class News extends Model { public function postedBy() { return $this->belongsTo('App\User'); } } class User extends Model { protected $fillable = ['name', ...]; }アレイ、オブジェクトではありません。アレイにアクセスしようとすると、プロパティが認識されず、エラーがスローされます。これは、FirstOrfail()の代わりにNewsモデルのFindBySlugメソッドを使用することで実行できます。 { $ article = news :: findbyslug($ slug); //オブジェクトを返します return View( 'article'、compact( 'article')); }
これにより、オブジェクト上の - > positsbyプロパティに正常にアクセスし、ブレードテンプレートにユーザー名を表示できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3