Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我查询两个具有关系的表时,CodeIgniter中出现了Wierd错误。。。欧欧欧_Codeigniter_Relational Database - Fatal编程技术网

当我查询两个具有关系的表时,CodeIgniter中出现了Wierd错误。。。欧欧欧

当我查询两个具有关系的表时,CodeIgniter中出现了Wierd错误。。。欧欧欧,codeigniter,relational-database,Codeigniter,Relational Database,所以当我运行一个活动记录查询时,我遇到了一个wierd错误(或者我只是个傻瓜)。看看这个: $results = $this->db-> select('cd.casino_name, cd.casino_opened, cd.casino_latitude, cd.casino_longitude')-> from('casino_data as cd, casino_cities as cc')-> where('cd.city_id',$city_id)

所以当我运行一个活动记录查询时,我遇到了一个wierd错误(或者我只是个傻瓜)。看看这个:

$results = $this->db->
  select('cd.casino_name, cd.casino_opened, cd.casino_latitude, cd.casino_longitude')->
  from('casino_data as cd, casino_cities as cc')->
  where('cd.city_id',$city_id)->
  where('cd.city_id=cc.city_id')->
  get()->result_array();
然后我得到了:

Error Number: 1054

Unknown column 'cd.city_id=cc.city_id' in 'where clause'

SELECT `cd`.`casino_name`, `cd`.`casino_opened`, `cd`.`casino_latitude`, `cd`.`casino_longitude`
FROM (`m_casino_data` as cd, `m_casino_cities` as cc)
WHERE `cd`.`city_id` =  1
AND `cd`.`city_id=cc`.`city_id`

Filename: httpdocs/_dev/libraries/Test.php

Line Number: 649
没发生什么事。。。或者在v2.0中,CI在DB类中发生了更改


help plz…thx

where子句存在问题

$results = $this->db->
select('cd.casino_name, cd.casino_opened, cd.casino_latitude, cd.casino_longitude')->
from('casino_data as cd, casino_cities as cc')->
where('cd.city_id',$city_id)->
where('cd.city_id','cc.city_id')->//this would produce WHERE cd.city_id = cc.city_id
get()->result_array();

CodeIgniter的AR保护有时效果不佳。在这种情况下,我认为应该使用可选参数
FALSE
,以避免自动保护。但并非所有函数都接受此参数-但
where
yes

$this->db->where()
接受可选的第三个参数。如果将其设置为
FALSE
,CodeIgniter将不会尝试使用反勾号保护字段或表名


请参阅(您可以在附近找到
4.自定义字符串
)。

OMFG它与
where('cd.city\u id=cc.city\u id')一起工作。
我只是在=thx之前和之后添加了一个空格。无论如何,这是需要作为bug归档的内容。让我查一下图书馆。:)