amirreza
1 سال پیش توسط amirreza مطرح شد
1 پاسخ

ارور livewire در برگرداندن اطلاعات

سلام خسته نباشید من دارم از livewire استفاده میکنم

    use WithPagination ;

    public  $pageOne = 1 ;

    public  $article ;
    public $hasMorePages ;
    public function mount()
    {
           $this->article = $this->loadArticles();

    }

    public function render()
    {
        return view('livewire.Front.article.article')
            ->layout('front.layouts.main');
    }

    public function loadArticles()
    {
        $articles = Cache::remember('__Articles__route__' , now()->addDay(), function() {
            return Article::query()->paginate(12 );
        });

        return $articles ;
    }

الان با خطای

Property type not supported in Livewire for property: \[{"currentpage":1,"data":\[{"id":1,"title":"test 2","score":300,"image":  

مواجه شدم چحوری باید هندلش کنم ؟ ممنون

@mahdi.nazari
@Raymond


ثبت پرسش جدید
Javad Karimi
تخصص : فول استک
@javadkarimii 1 سال پیش آپدیت شد
0

Livewire قابلیت پشتیبانی از متغیرهای با نوع پیچیده مانند کلاس‌ها یا مدل‌هایی که از پایگاه داده بارگذاری می‌شوند را ندارد. برای حل این مشکل، شما باید فقط داده‌های مورد نیاز خود را از مدل بیاورید و در یک متغیر ساده ذخیره کنید.

به نظر می‌رسد که شما دارید مقالات را از پایگاه داده بارگذاری می‌کنید و می‌خواهید از آن‌ها در نمایش خود استفاده کنید. یک راه حل برای این مشکل این است که به جای ذخیره کل مدل Article در متغیر article، فقط داده‌های مورد نیاز خود را از آن استخراج و در یک آرایه یا یک آبجکت ساده ذخیره کنید.

یک راه حل می‌تواند این باشد:

  1. تغییر تابع loadArticles به شکل زیر:
public function loadArticles()
{
    $articles = Cache::remember('__Articles__route__', now()->addDay(), function() {
        return Article::query()->select(['id', 'title', 'score', 'image'])->get()->toArray();
    });

    return $articles;
}

در این تغییر، من فقط چهار فیلد id, title, score, و image را از مدل Article استخراج کرده‌ام. شما می‌توانید فیلدهای دیگری را نیز اضافه کنید.

  1. در قسمت نمایش، به جای استفاده از $article به شکل مستقیم، از داده‌های استخراج شده استفاده کنید.
  2. اگر شما به توابع یا خصوصیات دیگری از مدل Article نیاز دارید، بهتر است که آن‌ها را به صورت جداگانه بیاورید و در متغیرهای ساده ذخیره کنید.

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

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