两个查询结果为1 $变量

时间:2011-01-20 20:34:36

标签: php codeigniter activerecord

我正在尝试使用codeigniter activerecords从两个具有相同结构的表中提取一些记录。例如,我有一个带有两个字段(name,name_spanish)的MARKET表,我有一个APPLICATION表,它有两个相同的字段(name,name_spanish)。

我可以创建一个$data变量并将每个查询的结果放入其中吗?然后我想检查像这个psuedocode $spanish = $data['name_spanish'] where $data['name'] = "Hello"

的结果

这可以完成吗?

3 个答案:

答案 0 :(得分:4)

这听起来像 UNION 查询。

SELECT * FROM table1 WHERE foo = 1 
  UNION SELECT * FROM table2 WHERE bar = 3 AND baz = 3

我不认为CodeIgniter的ActiveRecord支持联合查询,所以use the query method

答案 1 :(得分:2)

$spanish = array(
    "hello" => "hola",
    "dog" => "perro",
    "car" => "carro"
)

$english = array(
    "hello" => "hello",
    "dog" => "dog",
    "car" => "car"
)

$data = array(
    "sp" => $spanish,
    "en" => $english
)

echo $data['sp']['hello']; //yields 'hola'
echo $data['en']['hello']; //yields 'hello'

$lang = "sp"
$word = "dog";
echo $data[$lang][$word]; //yields 'perro'

答案 2 :(得分:1)

一般来说,是的,你可以。您还可以使用UNION在同一个迭代器中获取两个结果集。