2016-05-15 14 views
0

私はユーザーモデルを持っているとしましょう。各ユーザーはPetモデルです。Laravel特定のモデル属性を返します

の両方に正しく関係が設定されています。私は彼のペットと一緒にユーザーのデータを取得すると

、私はこれを行う:

return $this->with('pets'); 

が、私はユーザデータのみでペットnameを返すようにしたい場合は何? 私はそれをしようとしてきた:

return $this->with('pets.name'); 

は私のために動作しませんでした。あなたがこの方法を行うことができます

答えて

1

モデル

Class User extends Model() 
{   
      ... 
      public function pets() 
      { 
       return $this->hasOne('App\Model\Pet'); 
      } 
} 

コントローラまたはリポジトリまたはその他のオブジェクト

function getUserDetails (Request $request) 
    { 
     $userId = $request->get('id'); 
     $findUserById = User::find($userId); 
     $fullName = $findUserById->pets->fullname; 
    } 
0

https://laravel.com/docs/5.1/queries#joins

$users_with_pet_name = DB::table('users') 
     ->join('pets', 'users.id', '=', 'pets.user_id') 
     ->select('users.*', 'pets.name') 
     ->get(); 

セクションを結合をチェック

関連する問題