2017-02-17 11 views
0

私はLaravel 5.4で作業しています。私はEloquent ORMを使用しています。私は国家と国家として表を作りました。どちらも、以下のようにdislpayです:Laravel Eloquentを使用して関係データを取得できませんORM

国表:

enter image description here

国表:

enter image description here

さて、私はアメリカと国のテーブル間の関係を設定するには2つの方法を書いています。

国モデル:

public function states() 
{ 
    return $this->hasMany('App\Models\Masters\State')->select('*'); 
} 

状態モデル:今すぐ

public function country() 
{ 
    return $this->belongsTo('App\Models\Masters\Country')->select('name as country_name'); 
} 

、私は国の名前を取得することはできませんので、編集機能を作成するつもりです。

私はここで

$state = State::with('country')->find($id); 
return Response($state); 

としてクエリを書かれている、私はNULLとしてのみ状態データと国データを得ました。

国別のデータを取得するためには、どのような変更が必要ですか?

答えて

3

あなたの関係にむしろselectを使用しないでください。国名のみを使用すると、Laravelはこれをあなたの国家にリンクすることができないため、動作しません。

あなたは、このようなあなたの関係を定義する必要があります選択

+0

Nabialekなし

public function country() { return $this->belongsTo(\App\Models\Masters\Country::class); } public function states() { return $this->hasMany(\App\Models\Masters\State::class); } 

ありがとうございました。その働き。 –

関連する問題