Я пытаюсь сравнить два массива, и я хочу узнать по ним, совпадают ли они, а если нет.
Итак, я имею в виду, совпадают ли мои старые значения с новыми значениями полностью, например, все мои старые значения совпадают на 100 %
для новых значений вплоть до суммы, указанной в массиве.
Например
старое значение
array [
Item 1,
Item 2
]
новое значение
array [
Item 1,
Item 2
]
Тогда это совпадение, но если это
старое значение
array [
Item 1,
Item 2
]
новое значение
array [
Item 1,
Item 2,
Item 3
]
оно не соответствует, потому что элемент 3 сейчас там или это
старое значение
array [
Item 1,
Item 2
]
новое значение
array [
Item 1,
]
тогда это не соответствует, потому что элемент 2 был удален.
Но с моим кодом я получаю эту ошибку
Преобразование массива в строку
и оно указывает на эту строку кода $result = array_diff($old_items , $new_items);
Вот мой код
public function updateItems(Item $item, Category $category)
{
$old_category = $category;
$old_items = Item::where('category_id', $old_category->id)->get()->toArray();
$new_category = Category::find(request('category'));
$new_items = Item::where('category_id', $new_category->id)->get()->toArray();
$result = array_diff($old_items, $new_items);
print_r($result);
die();
}
Подробнее здесь: https://stackoverflow.com/questions/656 ... tical-data