1

我有两个模型 A 和 B。关系的定义如下所述。

A hasOne B
B belongsTo A

直到几天前,一切都运行良好。在过去的几天里,有些事情发生了变化,现在当我在 A 上进行查找时(递归设置为 2),它返回 B 的值,但所有值都返回为 NULL,包括 B 的 ID。

A (id - 1220, other_fields)
B (id - 11, a_id - 1220, other_fields)

结果数组如下所示。

array(
  'A' => array(
    'id' => 1220,
    'field1' => 'dsdsa',
    ...
  )
  'B' => array(
    'id' => null,
    'a_id' => null,
    ...
  )
)

我已经在数据库中验证了对应于 A 的 B 行存在。我什至尝试执行主机查找查询(从 SQL 调试转储复制),它正确返回结果,因此在数据库级别没有任何问题。是蛋糕(或我自己)弄乱了数据。

一切正常,但是出了点问题,我很难弄清楚是什么。

这是查询(将主机替换为 A,将服务替换为 B)

SELECT `Host`.`id`, `Host`.`user_id`, `Host`.`title`, `Host`.`featured`, `Host`.`slug`, `Host`.`profile_type`, `Host`.`social_security_number`, `Host`.`biz_id`, `Host`.`address`, `Host`.`lat`, `Host`.`lon`, `Host`.`description`, `Host`.`type`, `Host`.`size`, `Host`.`unavailability`, `Host`.`kids`, `Host`.`supervision`, `Host`.`emergency_transport`, `Host`.`experience`, `Host`.`first_aid`, `Host`.`oral_medication`, `Host`.`injected_medication`, `Host`.`payment_mode`, `Host`.`paypal_email`, `Host`.`name_on_check`, `Host`.`payment_address`, `Host`.`bank_name`, `Host`.`bank_account_number`, `Host`.`balance`, `Host`.`pending_balance`, `Host`.`approved`, `Host`.`created`, `Host`.`modified`, `Service`.`id`, `Service`.`host_id`, `Service`.`day_care`, `Service`.`day_care_price`, `Service`.`day_night_care`, `Service`.`day_night_care_price`, `Service`.`walking`, `Service`.`walking_price`, `Service`.`walking_max_distance`, `Service`.`checkup_visit`, `Service`.`checkup_visit_price`, `Service`.`checkup_visit_max_distance`, `Service`.`grooming`, `Service`.`grooming_price`, `Service`.`bathing`, `Service`.`bathing_price`, `Service`.`pickndrop`, `Service`.`pickndrop_price`, `Service`.`training`, `Service`.`training_price`, `Service`.`cancellation_policy`, `Service`.`accept_last_min_bookings`, `Service`.`created`, `Service`.`modified` FROM `hosts` AS `Host` LEFT JOIN `services` AS `Service` ON (`Service`.`host_id` = `Host`.`id`) WHERE `Host`.`id` = 2569 ORDER BY `Host`.`created` DESC LIMIT 1
4

0 回答 0