Laravel数据检索问题:如何返回查询结果的指定字段
Laravel查询指定列的正确实现方法
嗨,我来帮你搞定这个问题~你想只返回ID和Description列的话,原来的写法不对,Laravel提供了两种简单直观的方式来实现:
方法1:使用select()方法指定查询列
在查询构造器的链式调用中加入select(),明确列出需要提取的字段,这种方式可读性更强,适合需要指定多个列的场景:
public function Search () { $SearchText = Input::get('Search'); return Posts::select('ID', 'Description') ->where('Title', 'LIKE', '%'.$SearchText.'%') ->get(); }
方法2:在get()中传入字段数组
如果只需要少量列,也可以直接在get()方法里传递一个包含字段名的数组,写法更简洁:
public function Search () { $SearchText = Input::get('Search'); return Posts::where('Title', 'LIKE', '%'.$SearchText.'%') ->get(['ID', 'Description']); }
小提醒
- 要确保你指定的字段名和数据库表中的列名完全匹配(比如是
ID还是id,Laravel默认用蛇形命名,但如果你的表用驼峰命名就要对应好) - 拿到查询结果后,在视图里可以这样循环展示数据:
@foreach($posts as $post) <div class="post-item"> <p>ID: {{ $post->ID }}</p> <p>描述: {{ $post->Description }}</p> </div> @endforeach
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

