我也是这样,我猜测应该是版本问题
遇到了同意的问题,估计是版本问题
原因已找到:dd函数用来打印出给定的变量和结束脚本的运行。
就是说,dd打印一次之后,就使用了类似die()函数,会让php脚本中断运行,所以说,请谨慎使用dd()函数。
,如果不想结束脚本运行,请使用其他打印函数。
pluck只能获取一个字段,可以指定列表中反回的键值对应数据表中的字段。
select可以选择多个字段内容返回
lists()已经被pluck()取代,如果要取字段做下标,直接使用 pluck()就可以.一楼已经贴出来代码了
laravel 5.2 的手册
http://pan.baidu.com/s/1mi65MdU 密码:u5r9
完美解决了我的困惑
echo "<pre>"
php语言自动格式化输出
get(),是得到一个结果集,all(),是取所有结果,first(),是得到结果集中的一个。find(),是找到一个结果。
where(),是按条件查找相应的结果。select(),是获取对应的一部分字段及字段对应的完整数据。plunk(),是获取一些字段。lists(),是跟plunk一样,只是它可以选择一个字段作为数组中的键。chunk(),是数据太多的情况下,避免系统瘫痪,每次显示查找的数据限量,直到显示完所有数据
是dd函数报错?,你的php版本和laravel版本多少?如果是php7.1,低版本的laravel,dd函数是会报错的。我之前用laravel5.1也不能dd,后来是用5.4的dd函数就没问题。网上也有说降php版本来解决。
啥问题?
版本低吧,我用的5.2的,没问题!4.2版本应该没加这个方法
不可能啊,这个获得的是所有age的一维数组,你贴出前面的代码看下
是支持的。
$arr = DB::table($table_name) ->orderBy('id', 'desc') ->chunk(2, function($arr) { //设定每次查询的个数 var_dump($arr); }); dd($arr);
只能接受两个参数
public function pluck($column, $key = null) { $results = $this->get(is_null($key) ? [$column] : [$column, $key]); // If the columns are qualified with a table or have an alias, we cannot use // those directly in the "pluck" operations since the results from the DB // are only keyed by the column itself. We'll strip the table out here. return Arr::pluck( $results, $this->stripTableForPluck($column), $this->stripTableForPluck($key) ); }
DB::table('tab_name')->select('fields')->take(5)->get(); //take(5) 相当于 limit(5)
//还可以使用skip(10) 来实现分页功能
DB::table('tab_name')->select('fields')->skip(10)->take(5)->get(); //每页显示5条 跳过前10天查询五条 就是i第三页