دستورات مفید و کاربردی در استفاده از Query Builderها در لاراول

در زیر به برخی از دستورات مفید و کاربردی در استفاده از کوئری بیلدرها (Query Builders) در لاراول اشاره کرده‌ام.

دستور زیر تمام رکوردهای جدول users را به صورت آرایه دریافت می‌کند:

$users = DB::table('users')->get();

مشخص است برای نمایش در ویوی مربوطه نیز می‌توان به صورت زیر عمل کرد:

return view('user.index',['users'=>$users]);

در زیر فیلدهای email از جدول users گرفته می‌شوند:

$users = DB::table('users')->get('email');

دو دستور زیر معادل هم می‌باشند و هر دو فیلدهای email و name را از جدول users دریافت می‌کنند:

$users = DB::table('users')->get(['email','name']);
$users = DB::table('users')->select('email','name')->get();

در زیر تعداد رکوردهای موجود در جدول users برگردانده می‌شود:

$users_count = DB::table('users')->count();

رکوردهای موجود در جدول users برگردانده می‌شوند و بر اساس فیلد id به صورت نزولی مرتب می‌شوند:

$users = DB::table('users')->orderBy('id','DESC')->get();

بالاترین قیمت در جدول users برگردانده می‌شود:

$users = DB::table('users')->max('price');

دستورات زیر دو به دو متناظرند. در دستور اول و دوم تنها یک رکورد بر اساس id برگردانده می‌شود. در دستور سوم و چهارم، رکوردهایی که مقدار name در آن‌ها برابر با Ehsan است برگردانده می‌شوند.

$user = DB::table('users')->where('id',18);
$user = DB::table('users')->where('id','=',18);
$user = DB::table('users')->where('name','Ehsan')->get();
$user = DB::table('users')->where('name','=','Ehsan')->get();

برای استفاده از حالت paginate کار در لاراول بسیار ساده است. کافی است به صورت زیر عمل کنیم. دستور اول رکوردهای جدول users را به صورت ۵تایی برمی‌گرداند. دستور دوم همان کار را انجام داده، با این تفاوت که مرتب‌سازی در رکوردهای برگشتی بر اساس id و به صورت نزولی صورت می‌گیرد.

$users = DB::table('users')->paginate(5);

$users = DB::table('users')->orderBy('id','DESC')->paginate(5);

جهت ایجاد ویوی pagination نیز در سمت view به صورت زیر می‌توان عمل کرد:

{{ $users->links() }}

درباره نویسنده: احسان

مطالب زیر را حتما بخوانید