首页 > 解决方案 > Laravel whereColumn 在具有多个单词的列上

问题描述

在 laravel 查询生成器中,我们可以where$query->whereColumn($value). 但是如何对超过 1 个单词的列执行此操作?我的意思是,是否$query->whereCreatedAt(today())会在“created_at”列上执行 where 子句?

标签: laravel

解决方案


你是对的,你必须用 CamelCase 写它。您甚至可以添加一些andor.
文档

动态 Where 子句
您甚至可以使用“动态” where 语句来使用魔术方法流畅地构建 where 语句:

$admin = DB::table('users')->whereId(1)->first();

$john = DB::table('users')
                    ->whereIdAndEmail(2, 'john@doe.com')
                    ->first();

$jane = DB::table('users')
                    ->whereNameOrAge('Jane', 22)
                    ->first();

要更深入地了解它是如何在幕后工作的,您可以检查public dynamicWhere($method, $parameters)此文件中的方法vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php

亲切地


推荐阅读