CakePHP - 按其他列而不是ID选择记录

时间:2012-09-21 08:17:45

标签: cakephp cakephp-2.1

我正在使用CakePHP v2.2,我需要使用另一列而不是id来查询表。

这是我的控制器代码:

public function view($id = null){
    $this->layout = 'clean';
    $sku = array('Image.sku' => $id);
    $this->Image->find('first', array('conditions' => $sku));
    $this->set('image', $this->Image->read());
}

查看

header('Content-type: ' . $image['Image']['type']);
header('Content-length: ' . $image['Image']['size']);
header('Content-Disposition: inline; filename="' . $image['Image']['name'].'"');
echo $image['Image']['content'];

我想使用sku作为查询的参数而不是id。我可以不修改我的桌子吗?谢谢!

2 个答案:

答案 0 :(得分:1)

如果表格中有 sku 列,则可以执行以下操作:

$this->Image->findBySku('first'...

答案 1 :(得分:0)

尝试这样的事情:

$image = $this->Image->find('first', array('conditions' => $sku));
$this->set('image', $image);