راکت

ارور of non-object

10 پاسخ

سلام دوستان من یک رابطه یک به چند دارم و رابطه هم درست پیاده کردم .
من قطعه کد زیر رو بکار می برم

$lastAns = App\Model\Discuss\Discuss::where('p_id',$discuss->id)
                                                            ->orderBy('created_at','desc')
                                                            ->first();
                                                        echo $lastAns->user->full_name;    

روابط کاملا درسته و متغییر lastAns هم درسته و مقدار رو بر میگردونه . همه کاربران هم وجود دارن و هیچ کدوم حذف نشدن!
حتی وقتی با dd() امتحان میکنم درست کار میکنه ، یعنی اگر کد زیر رو اجرا کنم کاملا درسته :

$lastAns = App\Model\Discuss\Discuss::where('p_id',$discuss->id)
                                                            ->orderBy('created_at','desc')
                                                            ->first();
                                                        dd($lastAns->user->full_name);

ممنون میشم دوستان راهنمایی کنن.

ارورای که میده :

Trying to get property 'user' of non-object (View: 
ثبت پرسش جدید

پاسخ‌ها

10
سبحان دادخواه
سبحان دادخواه
@SobhanDadkhah

تخصص: دانشجوی برنامه نویسی :)

سلام . فکر میکنم فراموش کردین ارورشو بذارین . میدونم توی عنوان هست ولی بفرمایید حالتی که دارید استفاده میکنید و ارور میده چیه و ارور کامل رو هم بذارید

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

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

سعید
سعید
@Saeeed

تخصص: برنامه نویس وب

@hesammousavi
چشم آقای موسوی حتما رعایت میشه

سعید
سعید
@Saeeed

تخصص: برنامه نویس وب

ارور رو هم قرار دادم
دقیقا همین کد جای دیگه کاملا کار کرده!!

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

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

وقتی لاراول نتونه پراپرتی user رو از اون آبجکت بخونه، همچین اروری میده

سید حسین هاشمی
سید حسین هاشمی
@karenp8

تخصص: کار آموز برنامه نویسی وب

vardump ک میکنین چی بتون تحویل میده ارایه ؟

سعید
سعید
@Saeeed

تخصص: برنامه نویس وب

@karenp8
توی این مورد فرقی نداره

سعید
سعید
@Saeeed

تخصص: برنامه نویس وب

دوستان دیگه نظری ندارن؟

سید حسین رضوی
سید حسین رضوی
@hossein.r.1442

تخصص: برنامه نویس وب و طراح رابط کاربری

شما میتونید بگید وقتی dd میگیرید چی برمیگردونه؟ آبجکت یا استرینگ؟

سعید
سعید
@Saeeed

تخصص: برنامه نویس وب

هنگام dd آبجکت برمیگردونه.

البته از کد زیر استفاده کردم و ارور رفع شد .

           @if($discuss->answers >= 1)
                    <?php
                    $lastAns = App\Model\Discuss\Discuss::where('p_id',$discuss->id)
                    ->latest()
                   ->first();
                    $name =$lastAns->user;
                    ?>
           @else
               <?php
                $name = $discuss->user;
                ?>
          @endif

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

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