Что я использую:
CakePHP версия 2.4.1
Что я имею:
Таблица token_maps имеет атрибуты (Я бы, имя, account_no, обвинительный код, тип)
Таблица token_map_groups имеет атрибуты (Я бы, token_map_id, имя, account_no, обвинительный код, тип)
Таблица token_map_group_providers имеет атрибуты (id, token_map_group_id, provider_id)
Таблица провайдеры имеет атрибуты (Я бы, название)
отношения
token_maps имеет много token_map_groups (ОДНА карта токенов может иметь МНОЖУ группу карт токенов)
token_map_groups принадлежит token_maps
token_map_groups HABTM провайдеры
token_map_group_providers принадлежит token_map_groups, провайдеры
У меня уже есть страница добавления для token_map_groups:
Что я хочу:
Я хочу, чтобы во всех группах токенов не было ни одного выбранного провайдера, принадлежащего ОДНОЙ карте токенов.
Как я могу это подтвердить?
После многих случаев я использую запрос, который вернет список [еще не выбранного] провайдера. вот запрос:
select id from providers where id not in (
select c.provider_id from token_maps a
select c.provider_id from token_maps a
inner join token_map_groups b ON b.token_map_id = a.id
inner join token_map_group_providers c on c.token_map_group_id=b.id
left join providers p on p.id=c.provider_id
where a.id= $id)
Suppose you have a modal User and you want to validate User's data from Product modal then what you can do is,
1. Create validation rule in the Product modal like,
public $validate = array(
'first_name' => array(
'rule' => '',
'message' => ''
));2. Add user data to product data like,
$this->Product->data['Product'] = $this->User->data['User'];
3. And in the ProductsController,
if($this->Product->validates()) {
}
Других решений пока нет …