首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将数据库查询生成器转换为能言善辩的模型

如何将数据库查询生成器转换为能言善辩的模型
EN

Stack Overflow用户
提问于 2019-01-15 11:53:49
回答 2查看 405关注 0票数 1

我需要将一个数据库查询构建器转换为一个雄辩的模型。我使用的是插件https://github.com/Kyslik/column-sortable,它需要一个有说服力的模型。

代码语言:javascript
运行
复制
<?php

$payments = DB::table('users')
    ->select('orders.id', 'users.id', 'users.name', 'orders.amount', 'orders.created_at', 'orders.updated_at')
    ->join('patients', 'users.id', '=', 'patients.user_id')
    ->join('orders', 'patients.id', '=', 'orders.patient_id')
    ->where('users.name', 'LIKE', '%' . $q . '%')
    ->orWhere('users.email', 'LIKE', '%' . $q . '%')
    ->get();
EN

回答 2

Stack Overflow用户

发布于 2019-01-15 13:09:32

在控制器方法中调用您的模型。

代码语言:javascript
运行
复制
$companyObj = new modelname();
$userDetail = $companyObj->model_method_name($request);
票数 0
EN

Stack Overflow用户

发布于 2019-01-15 18:31:36

尝试在您各自的模型中声明雄辩的关系,如下所示:

代码语言:javascript
运行
复制
    class Users extends Model {
     public function patients(){
          return this->hasOne('App\Patients', 'user_id', 'id')->with('orders');
     }
    }

   class Patients extends Model {
       public function orders() {
           return this->hasMany('App\Orders', 'patient_id', 'id')->select('id', 'amount', 'created_at', 'updated_at');
       }
   }

现在在用户存储库/控制器中的雄辩查询中调用这些关系:

代码语言:javascript
运行
复制
$payments = $this->getModel()->select('id', 'name')->with('patients')->where('name','LIKE','%'.$q.'%')->orWhere('email','LIKE','%'.$q.'%')->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54192482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档