CakePHP сохранить без формы - PullRequest
1 голос
/ 15 апреля 2010

У меня есть фотогалерея. Я пытаюсь установить изображение в качестве обложки для альбома. У меня есть поле cover_id в таблице альбомов, которое уже было связано с фотографиями через модель. Я передаю album_id и photo_id контроллеру. Я хочу обновить album.cover_id, переданный через параметры, с photo_id, переданным через параметры. Есть ли способ сделать это или способ сделать ссылку формой без того, чтобы она выглядела или формировалась или не изменяла большую часть CSS?

Ответы [ 2 ]

3 голосов
/ 15 апреля 2010

Сохранение данных и форм - это две разные вещи, вы можете использовать одну без другой. Вы можете передавать переменные из браузера на сервер либо через POST (обычно через форму), либо через GET (в URL). Смешайте и сопоставьте это, чтобы сделать все, что вы хотите сделать. Например:

echo $html->link('Set as cover', array('controller' => 'albums', 'action' => 'set_cover', 42, 123));

URL: /albums/set_cover/42/123

class AlbumsController extends AppController {

    function set_cover($album_id, $photo_id) {
        $this->Album->save(array('id' => $album_id, 'cover_id' => $photo_id));
    }

}
0 голосов
/ 15 апреля 2010

Я бы просто добавил его в массив данных перед сохранением

$this->data['Album']['cover_id'] = $this->params[0];
$this->data['Album']['id'] = $this->params[1];

$this->Album->save($this->data);

Если вы хотите посмотреть, вы всегда можете pr() $this->params посмотреть, что знает контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...