php - 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]);
}
解决方案
要使用 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;
}
推荐阅读
- arrays - 如何比较和拒绝不同维度的数组项?
- php - PHP删除多行并将值返回到另一个表
- python - 按另一个列表对嵌套列表进行排序
- java - 如何将 Eclipse 插件 jar 放入 Eclipse 插件目录并开始在 Eclipse RCP 中运行
- sql - 基于多列的 Oracle Pivot
- speech-to-text - 在 google-cloud-speech 中识别 .wav 音频文件的问题
- vba - 摆脱不需要的分页符
- c# - 负载平衡系统中的 Protobuf-net 动态类型
- linkedin - LinkedIn关注按钮插件正在打开一个空白窗口
- python - 如何在 python 子进程中运行 mosh