سلام دوستان..
جدولم فرض کنید 20 تا فیلد داره..
از توی کنترلر فقط میخوام 3 تا از فیلدای جدولم رو بفرستم به ویو و اطلاعات اضافی که تو ویو نیازشون ندارم رو نفرستم..
فقط username و address و phone رو بفرستم..
چجوری باید اینکارو کنم؟
اینم کدمه..
$users= User::orderBy('id','DESC')->get()->where('type' , '==' , '1');
return view('myview' , compact('users'));
@javadbolouri72
سلام.
کوئری رو به این صورت تغییر بدید:
$users = User::select(['username', 'address', 'phone'])->orderBy('id','DESC')->get()->where('type' , '==' , '1');
ممنون بابت راهنمایی..
نمیدونم چرا تو این کد به type == 1 توجه نمیکرد و همه رو میفرستاد..
ولی خب الان حل شد ممنون
@javadbolouri72
خواهش.
برای شرط می تونید کلا اون قسمت رو حذف کنید. یعنی به صورت زیر :
User::select(['username', 'address', 'phone'])->orderBy('id','DESC')->get()->where('type', '1');
چند راه هست:
یکیش استفاده از متد select که دوستمون توضی داد
یک راه دیگه اینکه از متدی مثلا transform استفاده کنی و ساختار رو به شکلی که میخواهی تغییر بدی..
یک روش دیگه هم هست که بیشتر در API ها کاربرد داره. استفاده از پراپرتی hidden داخل مدل.. که میتونی فیلدهایی که نمیخواهی نمایش بدی رو در یک آرایه تعریف کنی و وقتی داده ها به JSon تبدیل میشند دیگه اون فیلدها درش نیست.
برای کار شما موارد ۱ و ۲ میتونه گزینه خوبی باشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟