خوب بریم سراغ Query Builder
من از موارد ساده و مواردی که در هر دو وجود داره میگذارم، مواردی رو میگم که یا وجود نداره و یا در Yii سخت تر انجام میشه
اول همون سینتکس کوتاه و روانش هست برای گرفتن کوئری
در Yii
Yii::app()->db->createCommand()->...
DB::table()->...
برای واکشی تمام رکوردها
// Yii
Yii::app()->db->createCommand()->select('*')->from('table')->queryAll()
// Larave
DB::table('table')->all();
// Yii
Yii::app()->db->createCommand()->select('*')->from('table')->queryRow()
// Larave
DB::table('table')->first();
برای واکشی ستون (در یی فقط اولین ستون رو میشه واکشی کرد، ولی در لاراول هر ستونی رو)
// Yii
Yii::app()->db->createCommand()->select('*')->from('table')->queryColumn()
// Larave
DB::table('table')->lists('columnName', 'optionalKey');
برای واکشی یک سلول (سطر و ستون خاص) که در یی فقط میشه مقدار ستون اول از سطر اول رو کشید بیرون، ولی در لاراول سطر اول از هر ستونی
// Yii
Yii::app()->db->createCommand()->select('*')->from('table')->queryScalar()
// Larave
DB::table('table')->pluck('columnName');
اگر تعداد رکوردها زیاد باشه و بخواهیم همه رو یک جا واکشی کنیم، در لاراول از chunk استفاده میکنیم تا مثلا 200 تا 200 تا رکوردها از جدول واکشی بشند و رم سیستم رو به باد ندیم که در Yii همچین چیزی نداریم و باید خودمون پیاده سازیش کنیم با limit و ...
// Yii
$users = Yii::app()->db->createCommand()->select('*')->from('users')->queryAll();
foreach($users as $user) { ... }
// Larave
DB::table->chunk(200, function($users)
{
foreach ($users as $user)
{
//
}
});