laravel controller 层---数据库操作
001) 特别篇
$user = Student::pluck('name'); //
Student::query()->pluck('name'); // idea 有提示
002) 使用union 后 使用 fromSub(aaa,bbb) 可以使用union后的结构
1) 查询
$users = DB::table('student_01')->get(); //尽量不使用这种方式查询数据,使用上面一种方式查询 $result = DB::select(DB::raw('SELECT * FROM student WHERE name=:name '), [ 'name'=>'张三' ]); dd($result); $arr = [1, 2, 3, 4]; // $brr = "1,2,3,4"; //这种方法,SQL对,但是结果会只去一条数据 $bbb = Student::select('*')->whereIn('id',$arr)->get()->toArray(); //使用模型关联 hasOne hasMany with $topics = Topic::limit(2)->with(['user'=>function($query){ $query->select('id','username'); }])->get(); public function user(){ //model层 return $this->hasOne("Student::class",'u_id','id') } $topics = Topic::limit(2)->with(['user'=>function($query)use ($login){//$login 传值 $query->where('id',$login['id'])->select('id','username'); }])->get(); //pluck 获取所有集合值: $user = Student::pluck('name'); Student::pluck('name')->implode(',') //取出后拼接字符串 相关参考地址 https://laravelacademy.org/post/9566.html
$allSum = Student::query() ->whereBetween('consumeTime', ['2021-02-18 00:00:00', '2021-02-28 11:59:59']) // ->where("consumeTime",'>=','2021-02-18 00:00:00') // ->where("consumeTime",'<=','2021-02-28 11:59:59') ->sum('countPrice'); // 区间求和
2) 获取 SQl
DB::table('student')->toSql(); 2-02) DB::enableQueryLog(); $aa = DB::getQueryLog(); 打印 $aa
3) 修改
//修改 $user = UserModel::find($id); $user->title = $_POST['title']; $user->content= $_POST['content']; return $user->save() ? 'OK' : 'fail'; //修改2 Student01::where('m_id', '=', '12') ->update([ 'field1'=>'ttt', 'field2'=>'uuuuuuuu' ]); //修改3 $model = GenericName::find($id); $model->fill($input)->save();
4) hasOne hasMany 使用with,并在with中使用条件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!