2013-08-13 3 views
1

Как я могу гарантировать, что поле в моей таблице требуется?Обязательное поле для записи в базу данных

Например: У меня есть стол сообщений и таблица пользователей. Когда сообщение сохраняется, оно требует поля user_id.

Где, если я сделал что-то вроде этого:

$post = new Post; 
$postText = "Test post one"; 
$post->text = $postText; 
$post->save(); 

я получаю сообщение об ошибке, потому что нет user_id поля. Вместо этого я должен был бы сделать что-то вроде этого:

$post = new Post; 
$postText = "Test post one"; 
$post->text = $postText; 
$post->user_id = 1; 
$post->save(); 

ли это сделано по

  • перекрывая сохранения() метод класса Post?
  • Подключиться к событиям модели?

ответ

1

Существует несколько способов сделать это, я даю вам самое основное, используя оператор if. Поскольку все поля предопределены, вы можете просто проверить, имеет ли все поля соответствующее значение. Вы можете использовать:

if($post->text == "" || $post->text == null){ 
    do something... 
} 

Или да, вы также можете коснуться Модели и проверить ее там.

Благодаря

+1

Это лучше делать 'если (! Пустой())', так как в отключенном переменной выдаст ошибку с кодом у вас есть. – Mike

+0

Спасибо за это. Куда будет идти этот код? Если бы вы разместили его в модели Post, где бы это было? – wkm

+1

Это должно быть до вызова функции save(). – Jed

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