有誰知道如何改變這個查詢:從diminventory
其中部分號碼= '350964-B22' 或部分號碼在隱蔽進入CakePHP的查詢與子查詢
SELECT *(選擇部分號碼從dimparts
其中parentpartnumber = '350964-B22')
感謝
有誰知道如何改變這個查詢:從diminventory
其中部分號碼= '350964-B22' 或部分號碼在隱蔽進入CakePHP的查詢與子查詢
SELECT *(選擇部分號碼從dimparts
其中parentpartnumber = '350964-B22')
感謝
我不是100%肯定什麼你要求尚未,但這裏介紹CakePHP查詢一個簡短的教程。
$this->ModelName->query("SELECT * FROM tablename LIMIT 2;");
您從模型查詢,但使用文字表名。您使用SQL「AS」關鍵字來重命名結果數組的鍵。
樣品結果:
Array
(
[0] => Array
(
[tablename] => Array
(
[id] => 1304
[user_id] => 759
)
)
[1] => Array
(
[tablename] => Array
(
[id] => 1305
[user_id] => 759
)
)
)
他詢問CakePHP的查詢不自定義SQL查詢。在控制器:
$partnumber = $this->diminventory->find('all',array('conditions' => array('diminventory.partnumber' => '350964-B22')));
$this->set('partnumber',$partnumber);
集函數傳遞變量作爲$部分號碼到視圖。然後int view(這是.ctp文件)你需要輸出數組。
foreach($partnumber as $partnumbers){
echo $partnumbers;
}
確保diminventory表有「S」的名字後,否則將無法正常工作,因爲這是CakePHP的命名規範的一部分。
要做到這一點完全Cake'ish,你需要使用CakePHP subquery:
$dbo = $this->User->getDataSource();
$subQuery = $dbo->buildStatement(
array(
'fields' => array('`Dimpart`.`partnumber`'),
'table' => $dbo->fullTableName($this->Dimpart),
'alias' => 'Dimpart',
'conditions' => array('`Dimpart`.`parentpartnumber`' => '350964-b22'),
),
$this->Dimpart
);
$subQuery = ' `DiminventoryEntry`.`partnumber` IN (' . $subQuery . ') ';
$subQueryExpression = $dbo->expression($subQuery);
$conditions[] = $subQueryExpression;
$conditions['DiminventoryEntry.partnumber'] = '350964-B22';
$result = $this->DiminventoryEntry->find('all', compact('conditions'));
哪裏Dimpart
是你的表dimparts
模型,DiminventoryEntry
爲型號對於表diminventory
(其實不是Cake'ish,你應該根據conventions重命名你的表格)。
用\請退出。不同的是'blah'與''blah \'寫成\''blah \\' –