راکت
امین
امین
توسط امین مطرح شد
حل
5 پاسخ

خطا Property title does not exist on this collection instance

سلام دوستان من میخوام تو لاراول id یک مطلب رو بگیرم و تو یک صفحه نشون بدم
ولی خطا Property [title] does not exist on this collection instance رو دارم (title یکی از ستون های مربوط به اطلاعات مطلب هست)
این هم کد هام هست:
کنترلر:

public function ShowStory(request $request, story $story){
        $story = story::select('id','title','main_img','description','view')->where('id',$request->story)->get();
        return view('story',compact('story'));
    }

روت:

Route::get('/story/{story}', [StoryController::class, 'ShowStory'])->name('story')->middleware('auth','HasSub');

ثبت پرسش جدید
محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh4 سال پیشمطرح شد
0

وقتی از Route Model Binding لاراول استفاده می‌کنید نیازی به دوباره نوشتن کوئری ها و کدها نیست و اصلا هدفش همین ساده سازی بوده. فرضا اگر route شما چیزی شبیه به این باشه:

Route::get('/story/{story}', [StoryController::class, 'ShowStory'])->name('story')->middleware('auth','HasSub');

در کنترلرتون متد رو به این صورت بازنویسی کنید:

public function ShowStory(Request $request, Story $story){
    //تعریف شده هست $story اینجا متغیر
    return view('story', compact('story'));
}

پ ن: دقت کنید که برای اینکه از قواعد PSR-4 تبعیت کنید و بعدا به مشکلات زیادی نخورید، باید اسم مدل ها و کلاس هاتون رو با حرف اول بزرگ بنویسید.


رضا جهانگیر
رضا جهانگیر
تخصص :Full-Stack Developer
@rezajahangir4 سال پیشمطرح شد
0

سلام به شمادوست عزیز.
منظورتون single page هست؟


امین
امین
@alavi.gavad4 سال پیشمطرح شد
0

سلام من یک صفحه دارم برای نمایش مطالب
که میخوام وقتی کاربر همه مقاله ها رو میبینه وقتی رو یکی کلیک کرد وارد اون صفحه نمایش مقاله بشه


محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh4 سال پیشمطرح شد
0

وقتی از Route Model Binding لاراول استفاده می‌کنید نیازی به دوباره نوشتن کوئری ها و کدها نیست و اصلا هدفش همین ساده سازی بوده. فرضا اگر route شما چیزی شبیه به این باشه:

Route::get('/story/{story}', [StoryController::class, 'ShowStory'])->name('story')->middleware('auth','HasSub');

در کنترلرتون متد رو به این صورت بازنویسی کنید:

public function ShowStory(Request $request, Story $story){
    //تعریف شده هست $story اینجا متغیر
    return view('story', compact('story'));
}

پ ن: دقت کنید که برای اینکه از قواعد PSR-4 تبعیت کنید و بعدا به مشکلات زیادی نخورید، باید اسم مدل ها و کلاس هاتون رو با حرف اول بزرگ بنویسید.


امین
امین
@alavi.gavad4 سال پیشمطرح شد
0

سلام خیلی ممنون من به این شکلی که گفتین نوشتم و تو صفحه blade ام dd گرفتم و این ها رو برام آورد:
به چه شکل باید این موارد رو از ارایه دربیارم و نشونش بدم؟


امین
امین
@alavi.gavad3 سال پیشمطرح شد
0

دوستان من همچنان درگیر این خطا هستم!


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

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