0

codeigniter のアクティブ レコード クエリのコードは次のとおりです。

$this->db->join('user', 'user.id = purchase_req.owner_id', 'inner');
$this->db->where('user.employer_id', $User->employer_id);
$Purchase_req = $this->Purchase_req->find();

結合ステートメントのないビューでは$Purchase_req->id、実際の購入リクエスト ID が返されます。結合のあるビューで$Purchase_req->id、ユーザー ID を返します。user.id に変更する代わりに、テーブルを結合し、購入リクエスト ID を取得するにはどうすればよいですか?

4

1 に答える 1

3

達成したい id は mysql ではあいまいです。両方のテーブルに id 列があるため、アクセスしようとすると、同じ列の一意のエイリアスを割り当てる必要があるテーブル$Purchase_req->idからの最後の id 列が返されます。purchase_reqのような結合されたテーブル

$this->db->select('`user`.*,`purchase_req`.*,`user`.id AS user_id')
$this->db->join('user', 'user.id = purchase_req.owner_id', 'inner');
$this->db->where('user.employer_id', $User->employer_id);
$Purchase_req = $this->Purchase_req->find(); 

エコー$Purchase_req->user_idすると、user.idが返されます

于 2013-08-12T20:30:01.247 に答える