我通读了锂\数据\模型\查询,但没有看到任何连接示例。
最佳答案
有多种方法可以执行与 Lithium 的连接。
join()
向现有查询对象添加连接。方法(请参阅 API))。 joins
将一组 Query 对象传递给查找器。 . Connection->read()
将 SQL 直接传递给连接。 . 其他方法的文档相当齐全,因此我将举一个将 Query 对象传递给查找器的示例。
$fields = array('id', 'name', 'slug');
$joins = array();
$joins[] = new Query(array(
'source' => 'client_tests',
'constraint' => array('Test.id' => 'client_tests.test_id'),
));
$conditions['client_id'] = $this->data['client_id'];
$tests = Test::all(array(
'conditions' => $conditions,
'fields' => $fields,
'joins' => $joins
));
source
是您要加入的表和 constraint
是加入条件。 Lithium 将查找表别名为模型的名称,因此在您的约束中使用它。然后,您可以将连接与您想要的任何其他参数一起传递给任何查找器。请注意,在撰写本文时,连接(和关系)仅适用于关系数据库,不适用于 MongoDB 的 DBRef 之类的东西。
更新 :删除已被链接劫持的链接。
关于lithium - 我如何执行与锂模型的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9391062/