راکت

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

7 پاسخ

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

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

اینم کدمه..

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

        return view('myview' , compact('users'));
ثبت پرسش جدید

پاسخ‌ها

7
محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

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

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

@mohsenbostan

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

شاید پاسخ شما همین‌جا باشد

محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

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

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

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

JBolouri
JBolouri
@javadbolouri72

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

JBolouri
JBolouri
@javadbolouri72

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

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

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