2014-01-08 3 views
0

У меня есть hasAndBelongsToMany связь между двумя таблицами (Рецепты и ингредиенты) в CakePHP вместе с связующей таблицей (ingredients_recipes).Создание правила проверки для colums таблиц присоединиться в CakePHP

Мои ingredients_recipes таблица имеет количество Колум, чтобы сохранить значение ингредиента для рецепта, но я не знаю, как и где создать правило проверки для разрешить только номера в этом Colum.

Я уже смотрю здесь и в документации, но я не нашел ничего.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать
Thnks

+0

Вы говорите проверки от должности, прежде чем он вставляет в базу данных? Если это так, проверьте http://book.cakephp.org/2.0/en/models/data-validation.html – Braunson

+0

попробуйте http://stackoverflow.com/a/5795717/1239506 –

ответ

1

Если вы храните дополнительные поля на соединительной таблице, вам придется иметь дело с таблицей присоединиться явно, а не в hasAndBelongsToMany, где CakePHP позаботится о таблице соединений за кулисами, и поэтому правило проверки должно быть указано на ингредиентах.

Этот тип отношений, кстати, известен как hasManyThrough и в основном просто выражен как рецепты hasMany ingredients_recipes и components_recipes имеет много ингредиентов.

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model

0

Создание правил проверки в Recipe.php и Ingredient.php моделей, пример показан ниже:

Шаг 1: Откройте Ingredient.php

Шаг 2: Редактирование Ingredient.php

Class Ingredient extends AppModel{ 
    var $name = 'Ingredient'; 
    public $validate = array(
     'ingredients_recipes' => array(
     'rule' => 'numeric', 
     'message' => 'Please supply the number of ingredients recipes.' 
     ) 
    ); 
} 

Шаг 3: Сохраните и выполните код.

Теперь ваша модель Ingredient проверяет параметры ингредиентов для числовой валидации, а в случае неудачи возвращает «сообщение».

Точно так же вы можете создать несколько правил валидации для других моделей.

Для исх: http://book.cakephp.org/2.0/en/models/data-validation.html

Смежные вопросы