Как удалить объект из коллекции объектов?
Пытаюсь удалить так: $this->order->products->pop($product); Удаляю экземпляр модели из элоквент коллекции. Добавлял тем же самым способом(ларавеловским). Вот так: $this->order->products->push($product); Во view для удаления передаю объект продукта через маршрут в контроллер. метод: public function cartRemove(Product $product). Когда добавляю продукт, в объект добавляю поле "колличество товара" чтобы можно было добавить несколько. В представлении информация о количестве есть, но если при нажатии на удаление товара, в контроллере уже свойства количества нет. И видимо из за этого не срабатывает pop. Когда контэйнсом проверяю наличие продукта в заказе, всё типо ок. Товар имеется...
Ларавеловский дебагер говорит следующее:
Дамп энд дай, верхнее, это - продукт содержащийся в заказе, нижнее, продукт который пытаюсь удалить. Тот что пытаюсь удалить свойство не имеет.
Добавление/Удаление.
public function removeProduct(Product $product)
{
if($this->order->products->contains($product)){
$pivot = $this->order->products->where('id', $product->id)->first();
if($pivot->countInOrder < 2){
dd($product);
$this->order->products->pop($product);
}else{
$pivot->countInOrder--;
}
}
}
public function addProduct(Product $product)
{
if($this->order->products->contains($product)){
$pivot = $this->order->products->where('id', $product->id)->first();
if($pivot->countInOrder >= $product->count){
return false;
}
$pivot->countInOrder++;
}else{
if($product->count == 0){
return false;
}
$product->countInOrder = 1;
$this->order->products->push($product);
//dd($this->order->products, $product);
}
return true;
}