2017-09-22 4 views
0

私はそれが動作すると思ったが、それはないと思った。私は既存のunitNameおよび非存在PROJECT_IDを与える場合問題を理解する2つのパラメータを持つデータベースから1行を取得

public function getUnitbyName2($unitname, $ProjectID) 
    { 
     //$id = (int) $id; 
     $rowset = $this->tableGateway->select(['Unitname' => $unitname], ['ProjectID' => $ProjectID]); 
     $row = $rowset->current(); 
     if (! $row) { 
//   throw new RuntimeException(sprintf(
//     'Could not find row with identifier %d', 
//     $unitname 
//     )); 
      $row=0; 
     } 
     return $row; 
    } 

は、私はいくつかの0値を得ることを期待:

は、私はこのような私のmodelclassのメソッドを持っています。しかし、私は常に、与えられたユニット名で最初のプロジェクトのユニットの番号を取得します。ユニット名はいくつかの異なるプロジェクトに存在するのが一般的です。 両方のパラメータを使用している場合、関数は正しいレコードを取得することになっています。

私の質問は、ANDで接続された2つのパラメータを使用すると何が問題になりますか?

答えて

0

AbstractTableGateway :: select()のは一つの引数を受け入れ、あなたは2を渡している: あなたは2つの配列を組み合わせ、1を渡す必要があります。 コードを次のように変更してください。

$rowset = $this->tableGateway->select(['Unitname' => $unitname, 'ProjectID' => $ProjectID]); 
関連する問題