【发布时间】:2014-01-20 06:58:18
【问题描述】:
我在随机返回具有 NULL 值的变量时遇到问题。
我有这个模型关联结构:
Truck $hasOne Chassis
Chassis $hasMany Make
Chassis $hasMany Model
Truck $hasOne Type
随机结果将有类型的空结果或品牌和型号的空结果,但其他结果将有正确的结果..
0 (array)
Truck (array)
Chassis (array)
id 1
make_id 2
model_id 2
title Basic Chassis
description This Basic Chassis is good for a lot of things, but advanced stuff is not one..
Truck_make (empty)
Truck_model (empty)
1 (array)
Truck (array)
Chassis (array)
id (null)
make_id (null)
model_id (null)
title (null)
description (null)
您可以在上方看到 2 辆卡车已加载,第一辆的底盘已加载以及品牌和型号 ID,但不是品牌和型号的阵列。第二辆车也没有任何负载..
这是来自 MySQL Workbench 的关联屏幕截图: http://d.pr/i/JgMt
这些是被调用的查询。
Query Affected Num. rows Took (ms) Actions
SELECT `Truck`.`id`, `Truck`.`chassis`, `Truck`.`type`, `Truck`.`title`, `Truck`.`ref`, `Truck`.`hide_truck`, `Truck`.`featured_gallery`, `Truck`.`featured_home`, `Truck`.`created`, `Chassis`.`id`, `Chassis`.`make_id`, `Chassis`.`model_id`, `Chassis`.`title`, `Chassis`.`description`, `Type`.`id`, `Type`.`title`, `Type`.`desc` FROM `douglass_cake`.`trucks` AS `Truck` LEFT JOIN `douglass_cake`.`chassis` AS `Chassis` ON (`Chassis`.`id` = `Truck`.`id`) LEFT JOIN `douglass_cake`.`types` AS `Type` ON (`Type`.`id` = `Truck`.`id`) WHERE 1 = 1
SELECT `Truck_make`.`id`, `Truck_make`.`make`, `Truck_make`.`hide_make` FROM `douglass_cake`.`truck_makes` AS `Truck_make` WHERE `Truck_make`.`id` = (1)0
SELECT `Truck_model`.`id`, `Truck_model`.`model`, `Truck_model`.`hide_model` FROM `douglass_cake`.`truck_models` AS `Truck_model` WHERE `Truck_model`.`id` = (1)
【问题讨论】:
-
所以我发现了'null'返回,它是 mysql 偏移量,但我仍然不明白为什么 CakePHP 会调用错误的行来生成和模型..
标签: php mysql cakephp model model-associations