JBolouri
5 سال پیش توسط JBolouri مطرح شد
7 پاسخ

ارسال فقط فیلد های مد نظر به ویو

سلام دوستان..
جدولم فرض کنید 20 تا فیلد داره..
از توی کنترلر فقط میخوام 3 تا از فیلدای جدولم رو بفرستم به ویو و اطلاعات اضافی که تو ویو نیازشون ندارم رو نفرستم..

فقط username و address و phone رو بفرستم..
چجوری باید اینکارو کنم؟

اینم کدمه..

$users= User::orderBy('id','DESC')->get()->where('type' , '==' , '1');

        return view('myview' , compact('users'));

ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش آپدیت شد
1

@javadbolouri72
سلام.
کوئری رو به این صورت تغییر بدید:

$users = User::select(['username', 'address', 'phone'])->orderBy('id','DESC')->get()->where('type' , '==' , '1');

JBolouri
@javadbolouri72 5 سال پیش مطرح شد
0

@mohsenbostan

ممنون بابت راهنمایی..
نمیدونم چرا تو این کد به type == 1 توجه نمیکرد و همه رو میفرستاد..
ولی خب الان حل شد ممنون


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
1

@javadbolouri72
خواهش.
برای شرط می تونید کلا اون قسمت رو حذف کنید. یعنی به صورت زیر :

User::select(['username', 'address', 'phone'])->orderBy('id','DESC')->get()->where('type', '1');

JBolouri
@javadbolouri72 5 سال پیش مطرح شد
0

@mohsenbostan
آها آره اینطوری جواب داد این خیلی بهتر شد.. مرسی🌷


JBolouri
@javadbolouri72 5 سال پیش مطرح شد
0

@mohsenbostan
آها آره اینطوری جواب داد این خیلی بهتر شد.. مرسی🌷


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

چند راه هست:
یکیش استفاده از متد select که دوستمون توضی داد
یک راه دیگه اینکه از متدی مثلا transform استفاده کنی و ساختار رو به شکلی که میخواهی تغییر بدی..
یک روش دیگه هم هست که بیشتر در API ها کاربرد داره. استفاده از پراپرتی hidden داخل مدل.. که میتونی فیلدهایی که نمیخواهی نمایش بدی رو در یک آرایه تعریف کنی و وقتی داده ها به JSon تبدیل میشند دیگه اون فیلدها درش نیست.

برای کار شما موارد ۱ و ۲ میتونه گزینه خوبی باشه


JBolouri
@javadbolouri72 5 سال پیش مطرح شد
0

@ali.bayat
بله سپاس از توضیح جامعتون


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام