محمد نمازی
7 سال پیش توسط محمد نمازی مطرح شد
7 پاسخ

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

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

کد کنترولر :

<?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'));
    }
}

ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 7 سال پیش مطرح شد
0

من متن ارور شما رو نمی بینم اصلا
فک کنم یادتون رفت متن ارور رو قرار بدید اما احتمال میدم برای قسمت 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'));
    }

جواد کرمی
تخصص : توسعه دهنده وب و اپلیکیشن | فر...
@javadkarami 5 سال پیش مطرح شد
0

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


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

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


جواد کرمی
تخصص : توسعه دهنده وب و اپلیکیشن | فر...
@javadkarami 5 سال پیش مطرح شد
-1

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


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

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


vahid
@rasekhivahid 4 سال پیش مطرح شد
0

سلام خوب هستید؟
منم به همین مشکل خوردم
شما چطوری رفعش کردید؟
@javadkarami


جواد کرمی
تخصص : توسعه دهنده وب و اپلیکیشن | فر...
@javadkarami 4 سال پیش مطرح شد
0

@rasekhivahid
همونطور که جناب موسوی هم اشاره کردن با استفاده از دستور create به صورت دستی یک کاربر رو اضافه کردم.
توی Controller ها مثلا متدی که صفحه اصلی رو فراخوانی میکنه به این صورت عمل کنید:

return create([
'name' => 'vahid',
'email' => 'vahid@gmail.com',
]);

همه مواردی که توی جدول users دارید رو به این صورت مقدار دهی کنید، یکبار صفحه اصلی رو فراخوانی کنید کاربر ساخته میشه. بعدش این کد رو کامنت یا پاکش کنید.


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

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