2011-01-20 48 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'