ارور Call to a member function course() on null

3 ماه پیش
توسط حسام موسوی آپدیت شد
محمد نمازی ( 14710 تجربه )
3 سال پیش
تخصص : توسعه دهنده وب

باسلام،
در دوره آموزشی ساخت فروشگاه، ارور زیر رو دریافت میکنم.

کد کنترولر :

<?php

namespace AppHttpControllersadmin;

use AppCourse;
use AppHttpRequestsCourseRequest;
use IlluminateHttpRequest;
use AppHttpControllersController;

class CourseController extends AdminController
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        $courses = Course::latest()->paginate(20);
        return view('admin.courses.all' , compact('courses'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        return view('admin.courses.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param CourseRequest|Request $request
     * @return IlluminateHttpResponse
     */
    public function store(CourseRequest $request)
    {
        $imagesUrl = $this->uploadImages($request->file('images'));
        auth()->user()->course()->create(array_merge($request->all() , [ 'images' => $imagesUrl]));

        return redirect(route('courses.index'));
    }

    /**
     * Display the specified resource.
     *
     * @param  AppCourse  $course
     * @return IlluminateHttpResponse
     */
    public function show(Course $course)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  AppCourse  $course
     * @return IlluminateHttpResponse
     */
    public function edit(Course $course)
    {
        return view('admin.courses.edit' , compact('course'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  AppCourse  $course
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, Course $course)
    {
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  AppCourse  $course
     * @return IlluminateHttpResponse
     */
    public function destroy(Course $course)
    {
        $course->delete();
        return redirect(route('courses.index'));
    }
}
بهترین پاسخ انتخاب شده توسط محمد نمازی
حسام موسوی
3 سال پیش

من متن ارور شما رو نمی بینم اصلا
فک کنم یادتون رفت متن ارور رو قرار بدید اما احتمال میدم برای قسمت store کردن یه course باشه دلیل این موضوع هم اینکه کاربر شما لاگین نکرده برای همین زمانی که کد زیر رو می زنید

auth()->user()

براتون null بر میگردونه و course نمیتونه بر روی null اعمال بشه
ببینید من همه اینا رو توضیح دادم لطفا با دقت ویدیوها رو مشاهده کنید و خواهش میکنم صبر بخرج بدید
کد زیر رو برای تست اینکه لاگین هست یا خیر وارد کنید

public function store(CourseRequest $request)
    {
        $imagesUrl = $this->uploadImages($request->file('images'));
         dd(auth()->user())
        auth()->user()->course()->create(array_merge($request->all() , [ 'images' => $imagesUrl]));

        return redirect(route('courses.index'));
    }
حسام موسوی ( 365446 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

من متن ارور شما رو نمی بینم اصلا
فک کنم یادتون رفت متن ارور رو قرار بدید اما احتمال میدم برای قسمت store کردن یه course باشه دلیل این موضوع هم اینکه کاربر شما لاگین نکرده برای همین زمانی که کد زیر رو می زنید

auth()->user()

براتون null بر میگردونه و course نمیتونه بر روی null اعمال بشه
ببینید من همه اینا رو توضیح دادم لطفا با دقت ویدیوها رو مشاهده کنید و خواهش میکنم صبر بخرج بدید
کد زیر رو برای تست اینکه لاگین هست یا خیر وارد کنید

public function store(CourseRequest $request)
    {
        $imagesUrl = $this->uploadImages($request->file('images'));
         dd(auth()->user())
        auth()->user()->course()->create(array_merge($request->all() , [ 'images' => $imagesUrl]));

        return redirect(route('courses.index'));
    }
جواد کرمی ( 17516 تجربه )
3 ماه پیش
تخصص : توسعه دهنده وب و اپلیکیشن | فرانت اند

@hesammousavi
جناب موسوی من هم دقیقا الان به همین مشکل برخوردم. قسمت چهارم دوره هستم و این مشکل توی قسمت مقالات برام پیش اومده. و اصلا تا این قسمت ما یوزری نساختیم که بخواد لاگین کنه و مقاله ارسال کنه.

حسام موسوی ( 365446 تجربه )
3 ماه پیش
تخصص : طراح و برنامه نویس

@javadkarami14
یه کاربر بسازید .

جواد کرمی ( 17516 تجربه )
3 ماه پیش
تخصص : توسعه دهنده وب و اپلیکیشن | فرانت اند

@hesammousavi
خب ما تا اینجا کلا سیستم احراز هویت و ثبت نام کاربر رو نداریم. و سوالی که پیش میاد اینه که چجوری میشه توی آموزش با همین شرایطی که کاربری وجود نداره با این خطا مواجه نمیشیم؟ درواقع میخوام بدونم این تفاوته از کجا میاد چون فکر کنم تا اینجا هیچ قسمتی از ویدیو هارو جا ننداختم. میتونه بخاطر تفاوت ورژن لاراول باشه؟

حسام موسوی ( 365446 تجربه )
3 ماه پیش
تخصص : طراح و برنامه نویس

@javadkarami14
بببینید ما هنوز سیستم احرازهویت رو پیاده نکردیم که بگیم فقط کاربری به این روت دسترسی پیدا میکنه که اول لاگین کنه و بعد مدیر باشه
در بخش ‌های بعدی پیاده‌اش میکنیم برای همین کاربری وجود نداره. شما در طی جلسات بعدی میفهمید داستان چیه
ولی برای اینکه بخش ارسال مقاله رو اوکی کنیم .بدونه توجه به اینکه هنوز احرازهویت رو کار نکردم اومدیم گفتیم خودتون فعلا با دستور create یه کاربر بسازید و لاگین کنید، تا ادامه داستان رو در جلسات بعد پیاده کنیم

برای ارسال پاسخ باید وارد سایت شوید