Laravel返回特定的模型属性

时间:2016-05-15 16:51:00

标签: laravel

我们说我有用户模型。每个用户都有Pet模型。

两者都正确设置了关系。

当我获得用户数据和他的宠物时,我这样做:

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

但如果我想仅使用用户数据返回宠物name该怎么办? 我一直在尝试:

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

没有为我工作。

2 个答案:

答案 0 :(得分: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;
   }

答案 1 :(得分:0)

你可以这样做:

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

查看加入部分:https://laravel.com/docs/5.1/queries#joins