تفاوت attach و saveMany و sync

4 ماه پیش
توسط علی بیات آپدیت شد
علی ( 14181 تجربه )
4 ماه پیش
تخصص : Laravel

سلام
دوستان تفاوت این سه تا تابع چیه دقیقا

بهترین پاسخ انتخاب شده توسط علی
علی بیات
4 ماه پیش

درود...
متد های زیر رو در نظر بگیرید:

    public function add($books)
    {
        if ($books instanceof Book) {
            return $this->books()->attach($books);
        }
        $this->books()->sync($books);
    }

    public function add($books)
    {
        if ($book instanceof Book) {
            return $this->books()->save($books);
        }
        $this->books()->saveMany($books);
    }
  • متد saveMany ، تمام گزینه‌هایی که بهش پاس داده میشه رو اضافه میکنه و کاری به گزینه‌هایی که از قبل وارد شده نداره.
  • اما sync ، تمام گزینه‌هایی که بهش پاس داده میشه رو اضافه میکنه و قبلی هارو حذف میکنه..

موفق باشید

علی بیات ( 232747 تجربه )
4 ماه پیش
تخصص : توسعه دهنده ارشد وب

درود...
متد های زیر رو در نظر بگیرید:

    public function add($books)
    {
        if ($books instanceof Book) {
            return $this->books()->attach($books);
        }
        $this->books()->sync($books);
    }

    public function add($books)
    {
        if ($book instanceof Book) {
            return $this->books()->save($books);
        }
        $this->books()->saveMany($books);
    }
  • متد saveMany ، تمام گزینه‌هایی که بهش پاس داده میشه رو اضافه میکنه و کاری به گزینه‌هایی که از قبل وارد شده نداره.
  • اما sync ، تمام گزینه‌هایی که بهش پاس داده میشه رو اضافه میکنه و قبلی هارو حذف میکنه..

موفق باشید

1masoud ( 14880 تجربه )
4 ماه پیش
تخصص : php,laravel

@ali.bayat
این instanceof چیه؟

علی بیات ( 232747 تجربه )
4 ماه پیش
تخصص : توسعه دهنده ارشد وب

instanceof چک میکنه که آیا آبجکت book$ از روی کلاس Book ساخته شده یا خیر. و true/false برمی‌گردونه

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