1

私は2つのテーブルを持っています。どちらにも「タイトル」という名前の列があります。次のコード スニペットを使用して 2 つのテーブルを結合すると、タイトル列の 1 つにアクセスできません。

    $select = $this->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
    $select->setIntegrityCheck(false);
    $select->join("service","service.id = lecture.service_id");
    return $select;

両方の列にアクセスする方法はありますか?

4

2 に答える 2

9

他の列と競合しないように、列の 1 つの名前を変更する必要があります。join() のオプションの 3 番目の引数として配列を渡すと、結合されたテーブルから取得する列を指定できます。配列内の 1 つ以上のエントリがハッシュされている場合、ハッシュ キーがプロパティ名として使用されます。以下のコードを使用すると、クエリ結果で service テーブルの title 列を "service_title" として参照できます。サービス テーブルの他の列が必要な場合は、必要に応じてハッシュの有無にかかわらず、それらを配列に追加します。

$select = $this->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
$select->setIntegrityCheck(false);
$select->join("service", "service.id = lecture.service_id",
              array("service_title" => "service.title");
return $select;
于 2010-12-21T02:53:57.137 に答える
1
$select = $this->select();
$select->from(array('t'=>'table1'), array('table_title AS title_first','table_sendo_colun','table_third_colun'));
$select->setIntegrityCheck(false);
$select->join("service","service.id = t.service_id");
return $select;

多分それは仕事をすることができます。

よろしく。

于 2010-08-19T14:39:37.120 に答える