【问题标题】:Ensure field in database record is required确保数据库记录中的字段是必需的
【发布时间】:2013-08-13 00:00:22
【问题描述】:

如何确保表格中的字段是必填的?

例如:我有一个帖子表和一个用户表。保存帖子时,它需要一个 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 类的 save() 方法?
  • 挂钩到模型事件?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    有几种方法可以做到这一点,我通过使用 if 语句为您提供最基本的方法。由于所有字段都是预定义的,因此您只需检查所有字段是否都有相应的值。您可以使用:

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

    或者是的,您也可以触摸模型并在那里检查。

    谢谢

    【讨论】:

    • 最好使用if (!empty()),因为未设置的变量会在您拥有的代码中引发错误。
    • 谢谢。这段代码会去哪里?如果你把它放在 Post 模型中,它应该属于哪里?
    • 应该在调用 save() 函数之前。
    • 感谢@Jed,我希望将所有这些都放在 Post 模型中,但在覆盖 save() 方法时遇到问题。将为此提出一个新问题。
    • 你不需要重写 save() 方法,因为你要检查之前的字段......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2019-04-18
    • 2011-08-14
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多