2011-01-20 96 views
0

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

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

这可以完成?

+0

您的伪代码应该是SQL查询吗? – 2011-01-20 20:37:57

回答

4

这听起来像是一个UNION查询。

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

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

1

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

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'