title: Return only certain data in from a collection - Laravel
body: <p>I'm learning Laravel and have created a public endpoint where I want to output only certain information of some comments if a user is not authenticated from a <code>GET</code> request.</p>
  
  <p>I have managed to filter out the comments based on whether or not they are approved. I now want to filter out the data that is returned. I have attached a screenshot of what is currently returned. </p>
  
  <p><a href="https://i.stack.imgur.com/sMf11.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/sMf11.png" alt="enter image description here"></a></p>
  
  <p>Ideally, I only want to return the id, name and the body in the json. How can I go about this? I tried the <code>pluck()</code> method which did not give the desired results. Any pointers would be greatly appreciated</p>
  
  <pre><code>public function index(Request $request)
  {
      if (Auth::guard('api')-&gt;check()) {
  
          return Comment::all();
  
      } else {
  
          $comments = Comment::where('approved', 1)-&gt;get();
  
          return $comments-&gt;pluck('id','name','body');
  
      }
  }
  </code></pre>