1
私はLaravel 5.3を使用しています。Laravel belongsToは特定のFKでも動作しません
Model ad :
----------------
class Ad extends Model
{
protected $table = 'ads';
protected $primaryKey = 'ad_id';
public function category()
{
return $this->belongsTo(Category::class, 'cat_id', 'cat_id');
}
}
そして
Model category :
-----------------
class Category extends Model
{
protected $table = 'categories';
protected $primaryKey = 'cat_id';
public function ads()
{
return $this->hasMany(Ad::class);
}
}
そして、私のDB構造は次のとおりです:
は、私は2つのテーブルと2つのモデル(広告やカテゴリを)持っている
ads:
ad_id -
ad_name
ad_status
cat_id
categoriess:
cat_id -
cat_name
私は本当にしないでください理由を知っているが、私はこれを私のリポジトリで使うことの関係を得ることができない:
return $this->model
->select('ad_id', 'ad_name')
->where('ad_status', '=', 1)
->with('category');
クエリは正常ですが、私はad
の情報を持っていますが、関係は空です。私は、両方のテーブルにcat_id
が存在することを確認しました。
私は何かを見逃しましたか?
ああ!あなたに感謝!私はこれを期待していなかった...私は、私が推測する文書でこれを逃した。 –
これはドキュメントでは見つかりません。それが助けてくれてうれしい。 ) –
@VincentDecauxあなたは '$ this-> model-> with()'を使うこともできます。 – xhulio