:::

3-3-2 執行自訂查詢語法 select()

select($select_col = '*', $where_item = [], $single = false, $key = '', $tpl_tag = ''):array

tadtools >= 3.39

比 find() 更彈性的查詢語法,可以自訂抓取欄位,或者自訂SQL語法,會回傳陣列,亦可自動送標籤到樣板。
  1. $select_col:(預設為 *)欲搜尋的欄位
    • 可以是字串(較為彈性或自由),如:'`id`, `title`, `name`',或 '`title`, sum(`amount`)'
    • 亦可是陣列(較為簡潔),如:['id', 'title', 'name'],或 ['title', 'sum'=>'amount']
  2. $where_item:where的篩選陣列或字串
    • 可以是字串(較為彈性或自由,需自行加上 where),如:`where enable`='1' and date > '2020-06-30' gorup by `title` order by `sort`
    • 亦可是陣列(較為簡潔,但僅支援and=),如:['enable'=>1, date => '2020-06-30'],會變成:where `enable`='1' and date='2020-06-30'
    • 若是遇到關鍵字uid,且沒有設定其值,如['uid']那預設會抓取目前登入者的uid編號為值,亦即:where `uid`='1'之意(假設目前登入者編號為1的話)
  3. $single:(預設為false)是否使用單筆模式。
    • 一般而言都是多筆資料的模式,會傳回如: $arr[0][id]$arr[0][title]$arr[1][id]$arr[1][title]類似這樣的陣列。
    • 若是單筆模式,那就只會傳回一筆,當確定您的資料只有一筆時,可以設為true,會傳會比較簡潔的$arr[id]$arr[title]
  4. $key:設定用來作為結果陣列索引的欄位名稱(僅在多筆模式有效)
    • 若沒設,那就是預設的從 0 開始遞增
    • 若有設,請設定欄位名稱,例如:id,如此,變會將id編號作為陣列索引(該執行語句需包含該欄位的值才行)
  5. $tpl_tag:欲送到樣板的標籤名稱
    • 如:data,那麼就有<{$data.0.id}><{$data.0.title}><{$data.1.id}><{$data.1.title}>等標籤可用,若是single模式,則是<{$data.id}><{$data.title}>等標籤可用
    • 若是沒設那就沒有樣板標籤,僅傳回結果陣列。

:::

書籍目錄

展開 | 闔起

http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D48%26tbdsn%3D1659

計數器

今天: 2995299529952995
昨天: 3176317631763176
總計: 7452427745242774524277452427745242774524277452427