query()
возвращает набор результатов из запроса SQL. Вы не получите успех против результата неудачи. Тем не менее, вы, вероятно, не должны использовать query()
в любом случае. Для этого есть функция; он называется saveField()
и возвращает ложь при ошибке.
$this->Test->User->id = 999999;
$result = $this->Test->User->saveField('avatar', $c);
if ($result !== false) echo "success";
else echo "failed";
Если вы настаиваете на использовании query()
, нет причин переходить на другую модель. Он просто выполняет запрос SQL. Это будет работать так же, как вы написали:
$this->query($q);
Кстати, if ($result == true)
является избыточным и обычно считается плохой формой. просто if ($result)
будет работать одинаково.