- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我得到这个:
$result =
DB::select(
'orders.date_created'
)
->from('orders')
->execute()->as_array();
正常情况下,显示创建日期的所有订单。现在我可以按用户进行过滤,执行此操作?user_id=112
这会让我拥有这个:
if(isset($get['user_id']))
{
$result =
DB::select(
'orders.date_created'
)
->from('orders')
->where('user_id', '=', $get['user_id'])
->execute()->as_array();
}else{
$result =
DB::select(
'orders.date_created'
)
->from('orders')
->execute()->as_array();
}
虽然这对我来说没有问题,但是当我有 4 个参数要从(4 个 where 语句)中过滤掉时,这会变得非常丑陋,例如 ?user_id=112&quantity=2&...
我可以以某种方式制作一个内联 if/action 语句,如果 $get['user_id'] 中没有任何内容,它将获取所有 user_ids 吗?
所以我最终只能得到这个:
$result =
DB::select(
'orders.date_created'
)
->from('orders')
->where('user_id', '=', (isset($get['user_id']) ? $get['user_id'] : 'GRAB ALL!'))
->execute()->as_array();
或者还有其他更好的方法吗?
尝试在 Kohana 文档中查找是否有一些 ->if()->where()->exitif()..(只是对其如何工作的一些想象)
最佳答案
您可以在执行之前修改查询对象:
$query = DB::select()->from(...);
if (isset($get['user_id'])) {
$query->where('user_id', '=', intval($get['user_id']));
}
if (isset($get['quantity'])) {
$query->where('quantity', '=', floatval($get['quantity']));
}
$result = $query->execute()->as_array();
关于php - 使用 Kohana Query Builder 构建查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397715/
我一直在使用 Kohana 2.3.7。有一些因素阻碍我们使用 Kohana 3,其中之一是与 2.3.7 相比缺少模块。例如,我似乎找不到2.3至3中存在的支付模块(Paypal、2C0、Autho
如果我在 https://www.example.com/test?page=123 页面上,我如何使用 Kohana 获得这个完整路径(proto + host + URI + query)? 我试
在我的应用程序中,我有一个执行大约 1000 次的循环,在其中我创建对象并保存它。这是应用程序的一部分,我用数据填充数据库。一般来说,这看起来像这样: foreach(...){ ...
如果我在 https://www.example.com/test?page=123 页面上,我如何使用 Kohana 获得这个完整路径(proto + host + URI + query)? 我试
我正在使用 ORM Auth 模块,但很难弄清楚如何做到这一点。我尝试过这种情况: $user = ORM::factory('user', $id);$user->roles->delete_all
好的,我试过到处搜索,但似乎无法得到一个简单直接的答案。 我想将日志消息( INFO 、 ERROR 等)写入 Kohana 日志文件 /application/logs/YYYY/MM/DD.php
我的问题是关于多词 MySQL 表名的约定,例如“comments_flags”,它不是数据透视表。 “comments_flags”的正确数据库表名是什么? 相应的型号名称是什么? 感谢您的任何建议
尝试在我的 Kohana 2.3.4 安装上运行 PHPUnit: phpunit --colors --bootstrap=index.php ../../modules/phpunit/libra
我是 kohana 的新手。我正在使用 ORM 来获取数据。 我想建立一个查询,其中 BETWEEN条款在那里。如下 SELECT `rooms`.* FROM `rooms` LEFT JOIN `
在 Kohana 3.3 的 DOCROOT 文件夹中,有一个新的 vendor 文件夹。 它有什么用? 最佳答案 它不应该在那里。这是 Composer 留下的。 关于kohana - Kohana
如何让它发挥作用? $stuff = ORM::factory('mytable') ->with('user') ->with('other_stuff') ->find_a
我注意到,当我开始使用它们时,Kohana 3 ORM 会为我的每个模型运行“显示完整列”: SHOW FULL COLUMNS FROM `mytable` 此查询可能需要几个时钟周期才能执行(在
全新安装了 Kohana 3.1。试图让我自己的 helper 。我在 application/classes/helpers/目录中创建了一个助手。我调用了文件 javascript.php,该类称
在 Kohana 2.x 中,有一个 $file = Kohana::log_directory(); 可以根据发送的参数获取或设置目录。 如何在Kohana 3.1下得到类似的效果? 我想读取日志目
使用 native ORM 在 Kohana(3.3) 中防止 SQL 注入(inject)的最佳方法是什么? 或者默认情况下它是“安全的”.. 最佳答案 默认情况下是安全的,因为它使用 Kohana
如何在 Kohana 3.2 中调用验证对象的 trim 函数?我正在使用: $post = Validation::factory($this->request->post()); $post->r
首先,我对 kohana 很陌生,但我对更流行的 Yii 和 Yii2 有丰富的经验。 我正在处理复杂的配置,它使用查询生成器从跳跃模型调用 MsSQL 数据库。现在我不得不优化代码,但遇到了一个错误
我正在尝试在 Kohana 3.3.0 中将 Auth 模块与 ORM 驱动程序一起使用,但我唯一能做的就是在数据库中插入新用户。我不能用他们登录。 我从一个空白的 Kohana 项目、一个简单的路由
我有一个简单的users表,我想找到所有用户在哪里email_notifications = 1。 逻辑规定以下应该起作用: class Controller_Test extends Control
我需要生成这样的查询: SELECT * FROM `table1` WHERE `date1` where('date1','execute(); $foo = array(); foreach (
我是一名优秀的程序员,十分优秀!