Laravel-查询作用域】的更多相关文章

laravel查询数据返回的结果 在插入数据库的时候,发现查询数据返回的结果是一个对象;即使是空数据 返回的不是true或者false 那么要判断该结果是否查询有结果 该如果呢? 学习源头: https://douyasi.com/laravel/eloquent_collection_detect_empty.html https://stackoverflow.com/questions/20563166/eloquent-collection-counting-and-detect-emp…
数据表 CREATE TABLE IF NOT EXISTS students( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '姓名', `age` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '年龄', `sex` TINYINT UNSIGNED NOT NULL DEFAULT 10 COMMENT '性别', `crea…
查询结果包括已被软删除的记录: Model::withTrashed()->get(); 只查询软删除记录: Model::onlyTrashed()->get(); PS:个人博客-Laravel 查询包括软删除的记录…
注:laravel 查询返回行的都是 php 的 stdClass 对象实例,不是数组!!!! 1)查询多行(get) DB::table('table_name')->get(); 带偏移和限制的查询(skip take 或 offset limit)(两种用法是一样的) //skip take DB::table('table_name')->skip(10)->take(10)->get(); //offset limit DB::table('table_name')-&g…
所谓的查询作用域就是允许你自定义一个查询语句 把它封装成一个方法. 1 定义一个查询作用域 定义查询作用域就是在模型中声明一个scope开头的方法: public function scopeHotArticle($query) { return $query->orderBy('comment_count','desc')->first(); } 然后可以这样使用: public function getIndex() { $hot = Article::hotArticle(); dd($…
laravel 查询数据库获取结果如何判断是否为空? 大家使用的场景是这样的: 1 $users = DB::table('users')->where('id',$id)->get(); 2 3 if($users){ 4 //有数据 5 }else{ 6 //没数据 7 } 8 或 9 if(is_null($users)){ 10 // 11 } 12 或 13 if(empty($users)){ 14 // 15 } 以上方法都是不行的,在使用 Laravel Eloquent 模型…
Laravel框架对数据库的封装是比较完善的,用起来也比较方便.但之前有一个问题一直困扰着我,就是利用laravel作查询时.如果想给表名或是字段名起别名是比较麻烦的事.但翻阅它的文档不难发现,它提供了一个DB::raw()的方法给我们,利用这个方法,我们就可以轻松的实现对表的重命名. 问题还原: 一般的写法:DB::table('users')->select('id','username')->get(); 这样写是一点问题没有的. 加别名的写法:DB::table('users as t…
使用 get_object_vars()可以将他抓转为数组get_object_vars — 返回由对象属性组成的关联数组: 在laravel中其实还可以用 toArray(); json_decode()但前两者在某些情况下不起作用,比如链接数据库查询使用了 first() 这时候就可以使用 get_object_vars()了: 如果使用的 Eloquent ORM 查询数据库,那么first()链式查询是有toArray()方法的, 如果是查询构造器的话,就没有toArray()方法了 转…
1.结果集 1.1从一张表获取所有行,get方法获取所有行 $users = DB::table('users')->get(); 获取列的值 foreach ($users as $user) { echo $user->name; } 1.2.从一张表中获取一行/一列,first方法获取单行 $user = DB::table('users')->where('name', 'John')->first();echo $user->name; 1.3.如果想要获取包含单个…
// 获取7月前的时间$time = date('Y-m',strtotime("-0 year -7 month -0 day" ));$where['created_at'] = ['>', $time]; // 统计近7月数据$trend = DB::table('service_orders') ->select(DB::raw('CONCAT(YEAR(created_at),"-",MONTH(created_at)) as day'), D…