Послушайте. Было бы смешно, если бы не было так грустно. Каждый день пачками появляются вопросы где и как научиться программировать. Ладно, я бы понял, если бы спрашивали как обучиться столярному делу или садоводству. Но блин... интернет просто пропитан компьютерной тематикой и, особенно, вебом. Гугл, самоучитель - и понеслась. Но нет же, надо зайти в QA и спросить "как мне выучиться?". Действительно, как же выучиться? Может быть старым испытанным способом: найти руководство, прочитать и выполнить советы? А где найти руководство? В поисковой системе? О, неужели это работает? А как сформулировать запрос? Достаточно вписать то что я хочу получить? Что ж, звучит недурно. Похоже, я и вправду смогу освоить эту хитрую технику. Но она такая сложная... я ведь учусь всего лишь в 10м классе...
class SomeController extends BaseController {
function search($params){
$where = array();
if ($params['tariff']) $where['tariff'] = $params['tariff'];
if (is_array($params['cities']) and count($params['cities'])) $where['cities'] = $params['cities'];
$uses = $this->Users->find($where); // массив cities будет автоматически сджойнен
return compact('users');
}
}
class ArticlesController extends BaseController {
# для страницы /articles/
function index ($get_params){
if ($get_params->date){
$articles = $this->Articles->find_by_date($get_params->date); // выбираем все статьи за заданную дату
} else {
$articles = $this->Articles->all(); // выбираем все статьи из таблицы
}
return compact('articles'); // этот массив пойдёт в шаблонизатор
}
# для /articles/123
function item($get_params){
if ($article = $this->Articles->find_first_by_id($get_params->id)){
return compact('article');
} else {
throw new Exception404;
}
}
}
$this->Article->create();
$article = $this->post('article); // массив
if ($id = $this->Articles->create($article)){
$article['id'] = $id;
}
$articles = $this->Articles->find_by_date('2013-04-15');
if ($authors_ids = array_map(function($article) {return $article['author_id'];}, $articles)){
$authors = $this->Authors->find_by_id(array_unique($authors_ids));
}
return compact('articles', 'authors');