獲取多個數(shù)據(jù)
findAll()
方法返回的是一個包含模型對象的二維普通數(shù)組或者對象數(shù)組。返回的結果類型受參數(shù)returnAsArray
的影響。
all()
方法返回的是\EasySwoole\FastDb\Beans\ListResult
類的對象。
<?php
// 使用主鍵查詢
$list = User::findAll('1,2');
// 使用數(shù)組查詢
$list = User::findAll(['status' => 1]);
// 使用閉包查詢
$list = User::findAll(function (\EasySwoole\Mysqli\QueryBuilder $query) {
$query->where('status', 1)->limit(3)->orderBy('id', 'asc');
}, null, false);
foreach ($list as $key => $user) {
echo $user->name;
}
數(shù)組方式和閉包方式的數(shù)據(jù)查詢的區(qū)別在于,數(shù)組方式只能定義查詢條件,閉包方式可以支持更多的連貫操作,包括排序、數(shù)量限制等。
<?php
// 獲取多個數(shù)據(jù) 不使用條件查詢
/** @var User[] $users */
$users = (new User())->all(); // 返回結果:\EasySwoole\FastDb\Beans\ListResult 類的對象
foreach ($users as $user) {
echo $user->name . "\n";
}
// 獲取多個數(shù)據(jù) 使用條件查詢
$userModel = new User();
$userModel->queryLimit()->where('id', [401, 403], 'IN')->where('name', 'easyswoole-1');
$users = $userModel->all(); // 返回結果:\EasySwoole\FastDb\Beans\ListResult 類的對象
foreach ($users as $user) {
echo $user->name . "\n";
}