首页 > 解决方案 > Laravel 没有插入数据库

问题描述

我对 laravel 应用程序有一些问题。我正在尝试在数据库中插入一些信息,它工作正常,直到我添加了一个新行'ip_address'。IP 地址被定义为 varchar(255) 并且除了地址之外的所有内容都在存储。可能是什么问题呢?这是代码

public static function log(string $message, string $action, string $request)
    {
        return Log::create(['user_id' => Auth::id() , 'log_message' => $message, 'action' => $action, 'ip_address' => '212.91.176.38', 'log_type' => 'log', 'request' => $request]);
    }

标签: phplaravel

解决方案


要使用 laravel 模型创建条目,您有两种选择:

使用 进行批量分配create(),在这种情况下,您需要定义哪些字段可以安全地批量分配。

public static function log(string $message, string $action, string $request)
{
    return Log::create(['user_id' => Auth::id() , 'log_message' => $message, 'action' => $action, 'ip_address' => '212.91.176.38', 'log_type' => 'log', 'request' => $request]);
}

// file Log.php
//...
Class Log extends Model
{
//...
    protected $fillable = ['user_id','log_message','action','ip_address','log_type', 'request'];
//...
}

或者

创建一个新的模型实例

public static function log(string $message, string $action, string $request)
{
    $log = new Log();
    $log->user_id = Auth::id();
    $log->log_message = $message;
    $log->action = $action;
    $log->ip_address = '212.91.176.38';
    $log->log_type = 'log';
    $log->request = $request;
    $log->save();

    return $log;
}

推荐阅读