有谁知道如何改变这个查询:从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 \\' –