【问题标题】:Laravel Eloquent bad building queryLaravel Eloquent 不良建筑查询
【发布时间】:2021-09-20 18:05:52
【问题描述】:

我构建了一个 Eloquent 查询,如下所示。

DB::connection()->enableQueryLog();
$reportSelect = Payment::join('users', 'users.id', '=', 'payment.user_id')
    ->join('user_information', 'user_information.user_id', '=', 'users.id')
    ->join('register_type', 'register_type.id', '=', 'payment.register_type_id')
    ->join('payment_type', 'payment_type.id', '=', 'payment.payment_type_id')
    ->select(
        'payment.id',
        'user_information.full_name as user_full_name',
        'register_type.register_type',
        'payment_type.payment_type',
        'payment.created_at',
        'payment.updated_at'
    );

$date_start = '2021-7-6';
$date_end = '2021-7-10';

$reportSelect->whereBetween('payment.created_at', [$date_start, $date_end])->get();

$queries = DB::getQueryLog();

return $queries;

这个SQL查询日志的结果如下。

SELECT
    'payment'.'id',
    'user_information'.'full_name' as 'user_full_name',
    'register_type'.'register_type',
    'payment_type'.'payment_type',
    'payment'.'created_at',
    'payment'.'updated_at'
FROM 'payment'
    inner join 'users' on 'users'.'id' = 'payment'.'user_id'
    inner join 'user_information' on 'user_information'.'user_id' = 'users'.'id'
    inner join 'register_type' on 'register_type'.'id' = 'payment'.'register_type_id'
    inner join 'payment_type' on 'payment_type'.'id' = 'payment'.'payment_type_id'
WHERE 'payment'.'created_at' between ? and ?

为什么不在 where 子句中设置我的 date_start 参数和 date_end 参数,而是放置字符 ?。提前致谢;对不起我的英语。

【问题讨论】:

  • 这很正常,这是 Laravel 显示查询的方式,? 表示将在那里替换/绑定一个值。
  • 在其他人中选择查询“?”不出现和?字符是查询不起作用的原因

标签: php sql laravel eloquent


【解决方案1】:

//需要加上$date_start和$date_end的日期方法

$date_start = date('2021-7-6'); $date_end = date('2021-7-10');

$reportSelect->whereBetween('payment.created_at', [$date_start, $date_end])->get();

【讨论】:

    猜你喜欢
    • 2017-10-22
    • 2021-08-17
    • 2018-10-27
    • 2016-03-30
    • 2016-02-09
    • 1970-01-01
    • 2015-02-22
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多