我试图从表中的数据填充列表。该表称为字段,I'尝试抓取的列称为CALIBER_F。我的控制器有以下内容:
$ caliber = $ this-> fields-> CALIBER_F-> find(' list'); $这 - >设置(紧凑('口径'));
但是,我收到此错误: 错误:在null上调用成员函数find()。该列没有空值。理想情况下,我希望能够从多个表中填充列表。通常我的选择看起来像这样:
SELECT CALIBER_F FROM public.FIELDS WHERE CALIBER_F IS NOT NULL 联盟 SELECT CALIBER FROM public.GUN WHERE CALIBER不为NULL 联盟 从AMMO中选择CALIBER_AMMO,其中CALIBER_AMMO不为空;
答案 0 :(得分:0)
看起来您可能需要重新检查语法。如果数据库表名称为“fields”,则模型名称应为Fields。
如果您在其他控制器中编写此文件(除了FieldsController.php),请使用$ this-> loadModel
在运行时加载模型 $this->loadModel("Fields");
$caliber = $this->Fields->find("list", [
"keyField" => "id",
"valueField" => "CALIBER_F"
])
->toArray();
$this->set(compact('caliber'));
这当然可以解决您的问题。
和平!的xD