-1
one-to-one
の関係はPost
とCategory
です。私は列を説明しようとしましょう。 Post columns
:Laravelは関係を使用してデータを取得します
| id | pr_name | pr_description | ..... | `category_id`
そしてここでは、だから、私は何をしようとしていることは次のとおりであるCategory columns
| id | name
です。カテゴリは既に私によって定義されており、カテゴリの名前のみを持ちます。 Blade.php
ファイルのカテゴリ名を取得するには、id:$post->category->name
のようなIDを使用します。しかし、私はエラー:Trying to get property of non-object
を取得します。ここに私のモデルがあります:ポストのモデル
class Post extends Model
{
public function category()
{
return $this->hasOne('App\Like','id','category_id'); // 'id' is foreign key,
// 'category_id' is local key
}
}
カテゴリーのモデル:
class Category extends Model
{
public function post()
{
return $this->belongTo('App\Post');
}
}
私はあなたが親と子を混同だと思います。これは1つのカテゴリに複数の投稿があるため、1対多の関係です。これは表のデザインに反映されています。ポスト・テーブルの外部キーとしてカテゴリーIDがあります。 – Shadow
私はその関係を試みました。しかし、どのようにポストを使ってカテゴリの名前を得ることができますか?私は: 'category-> $ post-> name'を意味する –
' category'のモデルが 'Like'と呼ばれるのはなぜですか? –