راکت

گرفتن کل رکورد ها در یک رابطه relations

4 پاسخ

درود - چرا این کوئریم جواب نمیده توی صفحه blade :

$post->tags()->all()->get()
// or 
$post->tags()->all();
// or 
ثبت پرسش جدید

پاسخ‌ها

4
سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

@mohsen.mehri6101
سلام
اگر ریلیشن و مدلت رو درست نوشته باشی باید این کد جواب بده
به جای all از get استفاده کن

$post->tags()->get();
محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

@sina.it91
درود دوست عزیز- ممنون از جوابت - اما اینطوری فقط تگ هایی که با این پست در ارتباط هستند رو به من میده، در صورتی که من تمام تگ ها رو میخام

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

سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

@mohsen.mehri6101
اگر تمام تگها رو میخواهید دیگه نباید از ریلیشن استفاده کنید
باید مستقیم کوئری بزنید

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

نکته اول اینکه در معماری MVC باید سعی کنید حتی المقدور داخل view ها یا همون فایل blade کوئری نداشته باشید. این عملیات باید در بخش های خودش مثلا controller انجام بشه و بعد داده در قالب یک متغیر به view پاس داده بشه.

نکته دوم هم اینکه برای گرفتن تمام تگ ها هم دیگه نباید از روابط Eloquent استفاده کنید. با دستور مستقیم می‌تونید کلش رو بگیرید:

// In your controller:
$tags = Tag::all();

return view('your-view-name', compact('tags'));

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

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