getField 方法 專為獲取特定字段值設計,區別於 select/find 返回完整記錄,支援單值、列表、關聯陣列、多字段組合等多種模式,是高效數據提取的利器。
$User = M('User');
$nickname = $User->where('id=3')->getField('nickname');
返回字串,多條符合條件僅返回第一條。
// 獲取所有啟用用戶暱稱
$nickname = $User->where('status=1')->getField('nickname', true);
// 限制數量
$nickname = $User->where('status=1')->getField('nickname', 8);
// 或
$nickname = $User->where('status=1')->limit(8)->getField('nickname', true);
// 返回 [id => nickname] 關聯陣列
$nickname = $User->where('status=1')->getField('id,nickname');
// 限制數量
$nickname = $User->where('status=1')->getField('id,nickname', 8);
第一字段作索引,建議選唯一值字段。
// 返回二維陣列,索引為第一字段值
$result = $User->where('status=1')->getField('id,account,nickname');
// 字串連接模式(一維陣列)
$result = $User->where('status=1')->getField('id,account,nickname', ':');
返回 [id => 'account:nickname'] 格式。
where、limit、orderjoin 聯表查詢sql 方法直接指定 SQL| 需求 | 方法 | 返回類型 |
|---|---|---|
| 單一值 | getField('field') | string |
| 單欄列表 | getField('field', true) | array |
| 鍵值對 | getField('key,value') | assoc array |
| 多欄記錄 | getField('a,b,c') | 2D array |
| 多欄連接 | getField('a,b,c', ':') | assoc array |