php - 在 laravel 5 php 中输入已删除资源(软删除)时未报告错误

标签 php mysql laravel-5

我有一个模型“主题”。

假设,我软删除了主题中 id=1 的资源。

我有另一个模型“Posts”,它有一个属性“topics_id”。

现在,我尝试在 posts 表中插入“topic_id”=1 的资源,它正在插入表中。但是,我希望报告异常或错误。我知道这可以在 Controller 中实现只需使用“查找”方法检查它。是否有任何代码可以在模型中使用,以便它不会被插入。

最佳答案

也许您可以使用模型事件?

请参阅此处的文档:https://laravel.com/docs/5.2/eloquent#events

因此,在您的 Post 模型上,您可以执行以下操作,这将在创建 Post 时触发:

public static function boot()
{
    parent::boot();

    static::creating(function($post) {

        // check foreign key validaty
        // throw error if it doesn't exist

    });
}

关于php - 在 laravel 5 php 中输入已删除资源(软删除)时未报告错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032326/

相关文章:

php - 无法正确使用查询

php - 在 MySQL 中使用时间而不是字符串 CURRENT_DATE 是个好主意吗?

PHP和MYSQL DB设计: using a column vs another table

php - 带有 mysql 变量的 Mysqli 准备语句

php - Laravel 通过遍历数组进行路由

php - 根据用户输入循环将数据附加到sql数据库

javascript - 将多维数组从 JQuery AJAX 发送到 PHP

mysql - 根据日期和时间计算数据库大小

php - 如何在 Laravel 中为 auth Controller 设置新的保护

php - STR_TO_DATE 不适用于 laravel 中 IF 条件分隔的查询