0
こんにちは、これは私がZend_Dbの参加使って、これを複製するにはどうすればよい私のSQLクエリ複製MYSQL)(参加はZend_Dbでクエリを登録しよう
SELECT A.id, A.name, ACC.id, ACC.name
FROM accounts A
LEFT JOIN friends F ON A.id = F.account_id
LEFT JOIN accounts ACC ON F.friend_id = ACC.id
LIMIT 0 , 30
のですか?
私は
function getFriends()
{
$query = $this->select()->setIntegrityCheck(false);
$query->from(array('a'=>'accounts'),array('a.id','a.name','b.id','b.name'));
$query->join(array('f'=>'friends'),'f.account_id = a.id',array());
$query->join(array('b'=>'accounts'),'b.id = f.friend_id',array());
$results = $this->fetchAll($query);
return $results->toArray();
}
この関数を作成した。しかし、それは唯一の右の表を戻し、それは左のテーブルを返さない...
私はあなたが私はphpMyAdminでSQLを実行する場合、それは4列のテーブルを返す必要がありますので、あなたが私の質問で見ることができるように、私はジョイントを行う方法を知っている、左または右の前提はこの時点で重要ではありません。 Zend DBは、最初の2つの列のみを返します。私は同じことを2回クエリすることでこれを解決できますが、どうぞ...だれでもやりたいことがあり、良いプログラミングスタイルではありません。 – shiva8
選択したすべての列に一意の名前が付いていることを確認してください。私は私の答えを更新しました。 – Pieter