簡體   English   中英

CakePHP,通過一個或多個ID選擇MySQL記錄

[英]CakePHP, selecting MySQL records by one or more Ids

我想根據從中調用的Id列表選擇MySQL記錄:

$ids = $this->params['url']['ids']

id是一個或多個ID,以逗號分隔。 我知道我可以使用explode來獲得數組中的ID:

$id = explode(",", $ids);

我知道通過ID調用的基本代碼是:

$row = $this->Model->find('all',
       array(
              'conditions' => array(
                   'id' => $id['0'],
              ),
              'fields' => array(
                   'id',
                   'name'
              )
       ));

我的問題是如何在不知道我之前擁有大量ID的情況下選擇使用多個ID? 即1個ID,或3個ID,或5個等。

似乎這應該與'id' => $id 也就是說,傳遞ID數組以搜索以使用IN子句。

將$ id作為數組傳遞,CakePHP自動檢測條件中是否給出了數組,它將自動將“ =”更改為“ IN” mysql。

$row = $this->Model->find('all',
       array(
              'conditions' => array(
                   'id' => $id,
              ),
              'fields' => array(
                   'id',
                   'name'
              )
       ));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM