Laravel 模型中的动态填充

2023-11-26

陷入 Laravel 5.2 的问题。

以下是 eloquent 创建操作(调用后)期间的错误,

Model.php 中的批量分配异常 453:column_name

以下是需要考虑的先决条件:

  1. 模型中的可填充项通过以下代码以动态方式填充:
    
    
    public function __construct() {
         $this->fillable(\Schema::getColumnListing($this->getTable()))
    }
      

目前已调试的方法如下:

  1. 插入之前,在控制器中, $model::getillableField() 给出正确的可填充数组。

  2. 在 model.php 行(450)中,

    
    
    if ($this->isFillable($key)) {
          $this->setAttribute($key, $value);
    }
      

    上面的代码返回值为“false”,并且 $model::getFillableField() 在数组列表中具有column_name。

  3. 使用表的列对 $fillable 变量进行硬编码可消除错误。 请帮忙,我哪里出了问题,有什么解决办法吗?

提前致谢。


你真正想做的是ALL可填写的字段。

在 Laravel 中执行此操作的正确方法是:

protected $guarded = [];

这在 5.2 中有效,尽管它的文档可以在 5.3 中找到。

(5.2的相关源码)

(5.3 的文档):

如果您想让所有属性都可批量分配,您可以将 $guarded 属性定义为空数组:

通过设置$guarded对于空数组,您将创建一个空黑名单,允许所有字段可批量分配。

另外,如果这个模型是ever将直接根据用户输入构建,请不要这样做。 Laravel 需要$fillable or $guarded被定义是有原因的。除非您的模型具有与公共表单实际上是 1:1 的字段,否则允许所有字段在批量分配时可写是一个安全漏洞。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 模型中的动态填充 的相关文章

  • 从多维数组中删除多个值

    我有一个来自 WordPress 的数组get posts 功能 posts array 15 0 gt object WP Post 285 24 ID gt int 253 post author gt string 1 1 post
  • 如何通过单击按钮调用 PHP 函数

    我创建了一个名为的页面functioncalling php包含两个按钮 Submit and Insert 我想测试单击按钮时执行哪个函数 我希望输出出现在同一页面上 因此 我创建了两个函数 每个按钮一个
  • Laravel - LIKE 运算符来搜索加密值

    我正在尝试在 Laravel 应用程序中实现一个搜索模块 可以按名称过滤用户 为了保护用户 name 列行在数据库上加密 我面临的问题是下面的查询总是返回 0 结果 我在搜索数据库之前对搜索输入值进行加密 patients DB selec
  • PHP crypt() Blowfish 函数不工作

    这是我第一次在 PHP 中使用 crypt 函数 我不明白为什么它不起作用 我的代码基于这篇文章 http www techrepublic com blog australia secure passwords with blowfish
  • 无法上传大于 8MB 的文件

    我正在尝试制作一个文件上传脚本 并且我已经为这个问题苦苦挣扎了一段时间 我已阅读并尝试了与此相关的所有答案 但无济于事 这是我在 php 中尝试过的 文件名 file uploads On upload max filesize 100M
  • PHP 指针与引用

    在 PHP 中 使用指针有什么区别 例如 function foo var var 3 a 0 foo a 以及参考 function foo var var 3 a 0 foo a 它们都修改了原始变量的值 但是它们内部的表示方式不同吗
  • 通过单击按钮更改 PHP include ("link.php")

    如何通过单击按钮更改 PHP include link html BUTTON 1 change to BUTTON 2 change to BUTTON 3 change to 如何在不刷新页面的情况下执行此操作 使用ajax Wrap
  • 如何在 PHPUnit 中跨多个测试模拟测试 Web 服务?

    我正在尝试使用 PHPUnit 测试 Web 服务接口类 基本上 这个类调用肥皂客户端目的 我正在尝试使用 PHPUnit 测试此类getMockFromWsdl这里描述的方法 http www phpunit de manual curr
  • “composer”在 Windows 服务器中未被识别为内部或外部命令

    我使用的是Windows Server 2008操作系统 我下载作曲家安装程序 exe https getcomposer org download 并安装到我的电脑上 当我尝试时composer install 我收到错误 compose
  • 如何根据状态从父表和子表获取数据,其中外键每行具有不同的状态

    我有 2 个具有外键关系的表 情况是我有一个case and a case有很多revisions 和每个revision有自己的status 如果仅更改外键表状态的特定行 我想获取父表数据和子数据 Table Case id case n
  • 带数组的双美元变量

    我正在尝试使用双美元语法访问数组的第一项 但它无法按照我想要的方式工作
  • php7ts.dll 无法加载到服务器

    今天我已经安装了php7 但是当我重新启动apache时 它无法启动 尽管我再次编辑了httpd xampp conf文件到配置php7 无论如何我去了C xampp并运行apache start bat 然后我看到以下错误 Apache
  • 我如何修复此 php 代码导致的本月最后一天错误?

    下面的代码是我用于网站菜单的代码 它将当前月份页面的链接移动到月份更改时的链接列表的顶部 但在某些月份的 31 号 例如 4 月 这会失败 对于大多数链接 我得到了同一个月的两个链接 我已经阅读了 php 生成日期方式的问题 但不知道如何更
  • 将 mod-rewrite 添加到现有 PHP 网站

    我正在更新一个 php 应用程序 该应用程序当前不使用 url 重写 目的是隐藏文件扩展名 网站总体结构如下 root index php login php page1 php page2 php page3 php page4 php
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • 根据产品变体术语将收件人添加到 Woocommerce 电子邮件通知

    我创建了一个 Woocommerce 插件并要求它做两件事 根据购物车中的产品变体 向特定电子邮件地址发送通知消息 电子邮件必须仅包含相关产品 不得包含其他属性的产品 例如 产品 A 具有名为 Chef 的属性 其中 Chef one 和
  • InvalidArgumentException 与 UnexpectedValueException

    我应该什么时候使用无效参数异常 http www php net manual en class invalidargumentexception php什么时候意外值异常 http www php net manual en class
  • PHP 生成文件供下载然后重定向

    我有一个 PHP 应用程序 它创建一个 CSV 文件 强制使用标头下载该文件 这是代码的相关部分 header Content Type application csv header Content length filesize NewF
  • Zend 1.11 和 Doctrine 2 自动从现有数据库生成所需的一切

    我是 ORM 新手 我真的很想学习它 我按照本教程成功地使用 Zend 1 11 x 安装了 Doctrine 2 1 的所有类和配置 http www zendcasts com unit testing doctrine 2 entit

随机推荐

  • Flutter 切换到 Tab 重新加载 Widget 并运行 FutureBuilder

    问题 我有 2 个使用默认选项卡控制器的选项卡 如下所示 Widget build BuildContext context return DefaultTabController length 2 child Scaffold drawe
  • 根据一列的值更新另一列的值

    我有一个名为 Vendor 的表 在该表中我有一个名为 AccountTerms 的列 它仅显示一个值 即 0 1 2 3 等 我还有一个我想使用的专栏 ulARAgeing 以反映该值的含义 例如 0 Current 1 30 Days
  • 错误:使用 SQLDF 没有此类列

    下面是脚本 gt library sqldf gt turnover read csv turnover csv gt names turnover 1 Report Date PersID Status DOB 5 Age Tenure
  • 如何用seaborn拟合泊松分布?

    我尝试将数据拟合为泊松分布 import seaborn as sns import scipy stats as stats sns distplot x kde False fit stats poisson 但我收到这个错误 Attr
  • 如何更新应用程序?

    互联网上似乎没有太多用于更新 Android 应用程序的资源 那么 我需要做的就是更改应用程序的 build gradle 文件中的版本号和名称吗 versionCode 2 versionName 1 0 1 这就是全部 现在我只需要制作
  • 即使一项检查失败如何继续执行

    我正在尝试访问不同的网址并使用 matchImageSnapshot 将屏幕截图与基线图像进行比较 这里的问题是当我的一个 url 因 matchimagesnapshot 失败时 它不会继续到下一个 URL 注意 我尝试使用变量 env
  • 获取插入后生成的id

    我正在 Android 上使用 SQLite 我想知道获取我插入的行的生成 id 的最佳方法 我认为解决方案在包含后进行搜索 但它看起来不是最好的方法 The insert方法返回id刚刚插入的行或 1如果插入过程中出现错误 long id
  • 滚动到带有标题的 Xamarin Forms ListView 的开头

    我在 Xamarin Forms 中滚动到 ListView 顶部时遇到一些问题 我可以通过调用 ScrollTo 并传递第一项来滚动到第一项 问题是 当列表有标题项时 我找不到滚动到标题的方法 这可能吗 我能想到的唯一解决方法是不使用标头
  • “new new Something”如何在 JavaScript 中产生有效的结果?

    我目前正在开发一个 JavaScript 解析器并研究ECMAScript 5 1 规范 这是目前令我困惑的一个问题 11 2 左侧表达式定义以下内容NewExpression生产 NewExpression MemberExpressio
  • 密码散列的盐也应该被“散列”吗?

    我认为这可能是一个愚蠢的问题 但我已经很困惑我应该在这里做什么才能最好 对密码哈希进行加盐处理时 盐是否也应该进行哈希处理还是保留为明文 注意 我正在对 SHA 256 中的密码进行哈希处理 并且 Salt 是预定义的字符串 因为一次只会存
  • 并发文件写入

    如何写入可由多个源 可能以并发方式 访问的文本文件 确保不会丢失写入操作 例如 如果两个不同的进程在同一时刻写入文件 这可能会导致问题 简单的解决方案 不是很快也不是很优雅 是在开始进程时锁定文件 创建 lock 文件或类似文件 并在写入完
  • 如何优化在 date 的 where 子句中包含 to_char 的 Oracle 查询

    我有一张表 其中包含49403459记录 我想查询某个日期范围内的表 说04 10 2010 to 04 10 2010 但是 日期以格式存储在表中10 APR 10 10 15 06 000000 AM 时间戳 结果当我这样做时 SELE
  • 在 .NET Web API POST/PUT 方法中使用继承的类

    我不知道如何在 Web API 控制器中使用继承的类 我have to create only oneAPI 控制器用于创建和更新数据库中继承的对象 与我的模型类似 所有这些模型都存在 Dto public class Animal pub
  • 在 WordPress 的自定义管理页面上提交表单

    我在 WordPress 管理中创建了一个自定义页面 其中有一个简单的文件上传字段和一个提交按钮 我需要弄清楚如何将页面提交到可以处理但在网络上找不到任何内容的地方 有谁知道表单上需要什么 操作 才能使其转到一个函数或另一个我可以处理文件的
  • 打印html元素时如何获得正确的渲染尺寸

    当将 html 元素打印到 A4 尺寸的纸张上时 我无法理解如何以正确的尺寸呈现 html 元素 为了说明我的目的 我将代码简化为一个 html 页面 其中包含一个红色边框的表格 该表格的尺寸应为 210mmx297mm A4 纸张尺寸
  • 通过 os.system() 终止进程中启动的脚本

    我有一个 python 脚本 它启动多个进程 每个进程基本上只是调用一个 shell 脚本 from multiprocessing import Process import os import logging def thread me
  • JavaScript 将 4 个字节的数组转换为 modbusTCP 读取的浮点值

    我正在尝试将 4 个字节的数组转换为浮点值 事情是这样的 我通过 ModbusTCP 从我的请求中得到答案 看起来像这样 data 16610 40202 buffer type Buffer data 64 226 157 10 该字符串
  • Hbase错误zookeeper存在3次退休后失败

    我在 Ubuntu 中使用 HBASE 0 94 8 独立模式 它工作正常 我能够在 Hbase shell 中执行所有操作 但在我登录我的系统后 它给出以下错误 15 07 28 15 10 30 ERROR zookeeper Reco
  • Guzzle 和 HTTPS

    我想使用 Guzzle 和 Silex 向 https 页面发送请求 通过 http url 我有一个响应 app gt get function use app client response client gt get http www
  • Laravel 模型中的动态填充

    陷入 Laravel 5 2 的问题 以下是 eloquent 创建操作 调用后 期间的错误 Model php 中的批量分配异常 453 column name 以下是需要考虑的先决条件 模型中的可填充项通过以下代码以动态方式填充 pub