Im пытается найти значение внутри объекта, но я не могу получить то, что делает isset. Возможно, я использую это неправильно. У меня есть два объекта и то, что я пытаюсь сделать, это удалить строку, которая не находится во втором объекте. Вот объект 1:Найти значение внутри объекта CakePHP
Array (
[idCategory1] => 1
[idCategory2] => 2
[idCategory4] => 4
)
А вот объект 2:
Array (
[0] => Array (
[CategoriesProvider] => Array (
[id] => 28
[provider_id] => 2
[category_id] => 1
[created] => 2015-03-13 20:25:17
[modified] => 2015-03-13 20:25:17
)
)
[1] => Array (
[CategoriesProvider] => Array (
[id] => 29
[provider_id] => 2
[category_id] => 2
[created] => 2015-03-13 20:25:17
[modified] => 2015-03-13 20:25:17
)
)
[2] => Array (
[CategoriesProvider] => Array (
[id] => 30
[provider_id] => 2
[category_id] => 4
[created] => 2015-03-13 20:25:17
[modified] => 2015-03-13 20:25:17
)
)
)
Вот мой код, чтобы удалить строку объекта 2, который не находится в объекте 1.
foreach ($CategoriesOfProvider as $key) {
if(isset($CategoriesProvider['CategoriesProvider']->$key['CategoriesProvider']['category_id'])) {
} else {
$this->User->Provider->CategoriesProvider->id = $key['CategoriesProvider']['id'];
//$this->request->allowMethod('post', 'delete');
if ($this->User->Provider->CategoriesProvider->delete()) {
} else {
$this->Session->setFlash(
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> No se pudo borrar la relacion producto - categoría.',
'default',
array('class' => 'alert alert-danger alert-dismissible', 'type' => 'alert')
);
}
}
}
$CategoriesOfProvider
- объект 2 и $CategoriesProvider
- это объект 1. Итак, я пытаюсь использовать isset, чтобы определить, находится ли идентификатор в объекте 2 в значении объекта 1. Я думаю, что Im использует isset неправильно. Или есть другой способ? Я думал, что, возможно, запустите его против каждого из значений объекта 1. Будет ли это работать лучше?
Заранее за вашу помощь.