我正在尝试使用codeigniter activerecords从两个具有相同结构的表中提取一些记录。例如,我有一个带有两个字段(name,name_spanish)的MARKET表,我有一个APPLICATION表,它有两个相同的字段(name,name_spanish)。
我可以创建一个$data
变量并将每个查询的结果放入其中吗?然后我想检查像这个psuedocode $spanish = $data['name_spanish'] where $data['name'] = "Hello"
这可以完成吗?
答案 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在同一个迭代器中获取两个结果集。