laravel Eloquent SQL 稍复杂查询集合
多个orWhere SQL
主要是在where中嵌套了多个orWhere
select * from `articles` where ((`type` = 1 and `user_id` = 2) or (`type` = 3 and `user_id` = 4) or (`type` = 5 and `user_id` = 6)) and `id` = 1
$this->article->m()->where(function($query){
$query->where(function($query){
$query->where('type',1)->where('user_id',2);
})->orWhere(function ($query){
$query->where('type',3)->where('user_id',4);
})->orWhere(function ($query){
$query->where('type',5)->where('user_id',6);
});
})->where('id',1)->get();
自定义排序
1.数据库主要字段
first_status : 上一次的状态
status : 最终状态
状态分四种
{
// 意向客户 1
// 订车客户 2
// 成交 3
// 失败 4
}
说明:一个人他由first_status到status的过程叫做他的行为,比如一人他先对这个车有意向,那么他有可能订车,也有可能不管不问,也有可能买车,也有可能买车之后退车(失败)
那么这两个状态的组合,我们称之为客户的行为.那么我现在是要统计到所有人的行为并且按照行为排序
简单的来说,我们暂时只统计 1-2, 2-3, 2-4
需求: 现在要查询出这三种状态并按照这种顺序倒序
$aimclient = $aimclient->select(DB::raw("*,CASE WHEN first_status = 1 and