gpt4 book ai didi

php - 与fuelphp orm的复合键关系

转载 作者:行者123 更新时间:2023-11-29 22:09:07 26 4
gpt4 key购买 nike

我试图让 FuelPHP 的 orm 在使用 lated() 方法时使用复合键。

我有一个包含两个表的数据库设置,我想根据它们的复合键将它们关联起来。

例如,我通常会在我的 orm 模型中使用这样的关系:

protected static $_has_one = [
'message_flag' => [
'key_from' => 'object_id',
'model_to' => '\ModelClass',
'key_to' => 'object_id',
'cascade_save' => false,
'cascade_delete' => false,
],
];

但我不想使用 key_from => 'idkey_to => 'object_id,而是想将它们加入到复合键上,这可能看起来像这个:

protected static $_has_one = [
'message_flag' => [
'key_from' => ['object_id', 'other_key'],
'model_to' => '\ModelClass',
'key_to' => ['object_id', 'other_key',
'cascade_save' => false,
'cascade_delete' => false,
],
];

为了澄清这一点,最上面的示例(FuelPHP 文档中推荐的示例)创建了一个如下所示的查询:

SELECT `t0`.`object_id` AS `t0_c0`, `t0`.`other_key` AS `t0_c1` FROM `myTable` AS `t0` LEFT JOIN `otherTable` AS `t1` ON (`t0`.`object_id` = `t1`.`object_id`);

但是我想使用 ORM 构建的查询如下所示:

SELECT `t0`.`object_id` AS `t0_c0`, `t0`.`other_key` AS `t0_c1` FROM `myTable` AS `t0` LEFT JOIN `otherTable` AS `t1` ON (`t0`.`object_id` = `t1`.`object_id` AND `t0`.`other_key` = `t1`.`other_key`);

最佳答案

实际上,我只是尝试了上面的充满希望但未记录的示例

protected static $_has_one = [
'message_flag' => [
'key_from' => ['object_id', 'other_key'],
'model_to' => '\ModelClass',
'key_to' => ['object_id', 'other_key',
'cascade_save' => false,
'cascade_delete' => false,
],
];

很惊讶地说这确实有效。不过,如果其他人也有类似的问题,我希望他们能找到答案。

关于php - 与fuelphp orm的复合键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com