在Laravel Eloquent中使用“ only()”函数获取特定列

时间:2018-11-17 11:42:18

标签: php laravel laravel-5

我有两个表userpost

在我的posts方法中,我想返回带有自定义字段的用户帖子。 以下解决方案都不起作用

class UserController
{
  public function posts(User $user)
  {
    return $user->only(['username', 'name', 'posts.body' // solution one

    return $user->only(['username', 'name', 'posts'=>function($q){
       $q->select(['body']
   }])// solution two

有人在变通吗?

1 个答案:

答案 0 :(得分:-1)

发布后仅在一行中获得一列值,然后使用value方法

Post::where('user_id')->value('body')

如果您想使用pluck方法从单个列中获取多个值(行)

Post::where('user_id')->pluck('body')    //this will get on the array
  

否则使用select方法

Post::select('body')->where('user_id')->get(); // this will get on collection
Post::select('body')->where('user_id')->get()->toArray(); // this will get on array