我正在尝试在Phalcon中获取一个模型,以获取带有条件参数的数据,以便通过静态调用::find()
来获取数据,并将与其相关的参数传递给它:
ProductReports::find(array(
"order.order_status_id = 6"
));
给出了错误:
Error fetching
产品报告report: exception 'Phalcon\Mvc\Model\Exception' with message 'Syntax error, unexpected token ORDER, near to '.order_status_id = 6', when parsing: SELECT [ProductReports].* FROM [ProductReports] WHERE order.order_status_id = 6 (113)
/**
* Class ProductReports
*
* @Source('product_reports');
*
* @BelongsTo('order_id', 'Orders', 'order_id', {'alias':'order'});
*/
class ProductReports extends Model
是否有任何方法可以提取到静态::find()
来过滤其关系,而不是执行 foreach 循环(过滤具有其关系order
的单行别名)?
答案 0 :(得分:1)
在这种情况下,您想使用QueryBuilder。确保使用别名定义模型之间的关系。如果您使用的是名称空间,请使用名称空间的完整路径(即[Project \ Models \ Orders] .order_status_id)。
https://forum.phalconphp.com/discussion/8197/conditions-on-relation