Yii 间接修改重载属性

2024-04-25

$winnerBid = Bids::model()->find($criteria);

模型有以下关系:

public function relations() {
        return array(
            'item' => array(self::BELONGS_TO, 'Goods', 'item_id'),
            'room' => array(self::BELONGS_TO, 'Rooms', 'room_id'),
            'seller' => array(self::BELONGS_TO, 'RoomPlayers', 'seller_id'),
            'buyer' => array(self::BELONGS_TO, 'RoomPlayers', 'buyer_id'),
        );
    }

当我尝试保存时:

 $this->seller->current_item++;
    $this->seller->wins++;
    $this->seller->save();

我收到错误:

间接修改重载 property Bids::$seller 没有效果 (/var/www/auction/www/protected/models/Bids.php:16)

但在另一台服务器上一切都很好? 如何修复它?或者覆盖 php 指令?有任何想法吗?氨氮


这里的问题是$seller不是一个“真正的”属性(Yii 通过使用魔法在其模型上实现属性__get方法),因此实际上您正在尝试修改函数的返回值(这没有效果)。就好像你试图这样做:

function foo() {
    return 42;
}

// INVALID CODE FOR ILLUSTRATION
(foo())++;

我不确定此行为在不同 PHP 版本上的状态,但您可以使用一个简单的解决方法:

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

Yii 间接修改重载属性 的相关文章

  • 在 Woocommerce 中以编程方式创建新产品属性

    如何通过插件为 WooCommerce 创建属性 我只找到 wp set object terms object id terms taxonomy append From 这个堆栈问题 https stackoverflow com qu
  • PHP set_include_path 的“起点”是什么

    在 PHP 中 set include path 相对于什么 它是 PHP exe 所在的文件夹吗 是网络根吗 换句话说 set include path 或 set include path 指的是哪个文件夹 相对路径是从文件所在位置解析
  • symfony2以管理员用户身份访问私有文件

    在我的 Symfony2 3 项目中 我有一个前端网站和一个后端 后端通过 security yml 文件进行安全保护 只有 role admin 用户可以访问后端 我现在想要的是只有管理员用户可以下载 pdf 文件存储在资产中 有没有办法
  • Jwt 令牌是唯一的

    我正在使用 JWT 网络令牌系统 我能够成功生成令牌 我在 Laravel 中创建 JWT 令牌 如下所示 我正在使用以下技术堆栈 拉拉维尔 5 2 http laravel com 框架 JWT 包裹 https github com t
  • Laravel 表单标签中内联“必需”星号

    我正在尝试为 Laravel 中的必填字段添加红色星号 但我不确定如何将它们添加到标签中 我目前正在做的是 Form label took act or sat Did you or will you take the SAT or ACT
  • PHP 中的 Rss 阅读器

    header Access Control Allow Origin tmpFile tmpFile txt val http rss news yahoo com rss topstories curlHandle curl init v
  • 将数据插入多个表 PHP MySQL

    我有一个用于存储食谱的基本数据结构 它由三个表组成 如下所示 表 1 食谱 recipe id recipe name 表 2 成分 成分 ID 成分名称 表 3 配方 成分 配方 id 成分 id 我在添加新配方时遇到问题 想知道插入的最
  • PHP file_get_contents 有限制吗? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 使用正则表达式惰性(不贪婪)匹配多个组

    我想获取成对之间任何值的内容
  • 如何在活动记录/Rails 4 迁移中创建具有唯一索引的新表

    如何通过 Rails 迁移创建新表并向其添加唯一索引 在文档中 我找到了如何在创建表后向表添加索引 但是如何在同一个迁移文件中同时执行这两项操作 创建表并添加唯一索引 这是完整的过程 生成迁移 rails generate migratio
  • 如何设置 PHP CodeSniffer 来扩展 WordPress 编码标准 + VSCode 中的自动修复错误?

    如何使用扩展 WordPress 编码标准的个人规则为项目设置 PHP CodeSniffer 保存时在 VSCode 中自动修复错误 I have 全局安装 CodeSniffer https github com squizlabs P
  • Cake PHP 中的自定义分页

    我是 cakePHP 的初学者 我不想在 cakePHP 中创建自定义分页 功能 paginator gt numbers 它显示的页码如下 1 2 3 4 通过查看选项 有一些选项可以更改分隔符 添加样式类 css 等等 我想要的是这样的
  • 使用 PHP simpleXML 查找一个我知道名称但不知道其所在位置的节点

    如果我知道要查找的节点的名称 但我可能不一定知道该节点的路径 我需要在 PHP 中查询 XML 字符串 我想我可以使用 xpath 做到这一点 但我无法弄清楚如何设置相对路径来查看文档中的任何位置 有人可以指出我正确的方向吗 我目前正在尝试
  • 应用程序在 JSON jparser 发出 http 请求时崩溃

    您好 我使用本教程连接到网络或本地的 mySQL 数据库 here http www androidhive info 2012 05 how to connect android with php mysql 虽然所有服务器端 php 文
  • 弹出窗口显示来自 php 和 javascript 的结果

    我正在尝试实现 javascript 来显示 php 的结果 基本上 我有一个登录页面 对于登录失败 我希望结果显示在弹出窗口中 而不是仅仅用 php 回显它们 我尝试实现警报框 但看起来我错过了一些东西 成功登录将被重定向到logged
  • 如何在PHP中设置文本文件编码?

    如何在 PHP 中设置文本文件编码 例如 UTF 8 让我告诉你我的问题 这是我的代码 Output fwrite 具有类似的输出 但是当我创建test txt通过记事本并设置字符集UTF 8输出就是我想要的 我想在 PHP 文件中设置字符
  • 调用php中未定义的方法DateTime::add方法

    我使用 php 5 2 9 作为 xampp 安装的一部分 我正在为我的网络应用程序使用 codeigniter 框架 当我调用 DateTime add 时 Call to undefined method显示错误 我的代码是 date
  • 在mysql查询中对多个日期范围求和

    我有一个 MySql 表 产品 包含三列 Date Product Qty 我的目标是每周对每种产品的数量进行求和 获取两个给定日期之间的 SUM 很容易 SELECT SUM qty FROM products WHERE date gt
  • PHP file_get_contents 错误 503

    我收到错误 503服务暂时不可用 与我通话 url https www okex com api v1 ticker do symbol ltc btc page json decode file get contents url true
  • SalesForce.com:通过 PHP 检索自定义字段

    我在 SalesForce DE 站点中创建了一个简单的自定义联系人对象 API 名称为 Contact c 该对象有一个 Full Name c 字段 用于测试连接 然后我尝试通过 PHP 检索所有联系人 特别是此字段 try mySfo

随机推荐

  • 使用 onclick 从输入中获取值

    如何使用 vanilla javascript 获取点击时输入的值 function getvalue console log this val
  • ModuleNotFoundError:Python 3.6 中没有名为“openpyxl”的模块

    我已经通过pip安装了openpyxl openpyxl 包位于以下路径中 AppData Local Programs Python Python36 32 Lib site packages 我正在使用pycharm 在我的代码中 如果
  • Rails 4.0 与 Devise。嵌套属性 不允许的参数

    我正在使用 Devise 和 Rails 4 开发一个网络应用程序 我有一个User我用 2 个额外的表单字段扩展了该模型 这样当用户注册时 他还可以提交他的名字 姓氏 基于http blog 12spokes com web design
  • Python二维数组-更改元素[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有这个 7x7 二维数组 l 1 1 1 1 1 1 1 1 0 2 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0
  • 类型衰减——它是什么以及为什么会出现?

    我很惊讶类型衰减在 SO 或其他地方没有得到很好的解释 也许我没有使用正确的术语进行搜索 或者也许我没有正确理解整个事情 我的问题是 它是什么 它是如何 为什么 到达那里的 它的规则是什么 如果你想知道我为什么问 下面是我的哭泣型腐烂故事
  • Kinect 启用流时出错

    这是我第一次尝试制作一个使用 Kinect 的程序 我不知道为什么我总是得到一个null错误 也许更了解 KinectSDK 的人可以提供帮助 public ProjKinect InitializeComponent updateSens
  • 使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联

    我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
  • 将列添加到 CSV Windows PowerShell

    我有一个相当标准的 csv 文件 其中包含标题 我想添加一个新列并将所有行设置为相同的数据 原来的 column1 column2 1 b 2 c 3 5 After column1 column2 column3 1 b setvalue
  • 如何在vim中每隔几行添加一行

    我想使用 vim 编辑器在文件 大约 1000 行 中每 3 行添加一行 有人可以帮我吗 谢谢 艾丽莎 有一个 vim 特定的正则表达式可以做到这一点 s n n n 0 r g s 是 vim ex 命令来替换整个文件 n 是包含行尾的一
  • 使用 AWS CodeDeploy 的环境变量

    我有一个 Web 应用程序 它利用环境变量进行某些配置 数据库凭据 API 密钥等 我目前正在使用 Elastic Beanstalk 进行部署 并且可以在 AWS 中轻松设置这些 这很棒 因为我的代码库中没有这些敏感数据 不过 我正在考虑
  • 指南针手表编译一次,无法注意到进一步的变化

    我在 Windows 7 上使用 SASS Compass 我最近将 SASS 从 3 2 10 升级到 3 4 2 将 Compass 从 0 12 2 升级到 1 0 1 我通过卸载旧版本并在命令提示符中使用 gem uninstall
  • 使用状态模式设计在Java中实现通信协议

    如果在其他地方回答了这个问题 我们深表歉意 找不到足够的信息来说服自己最好的方法来做到这一点 我还意识到这是一个冗长的解释 没有代码 但是让我知道我是否应该编写一些示例代码来帮助演示我正在做的事情 基本上 使用 System in out
  • 在 Windows 上忽略 Git 存储库中的目录

    如何在 Windows 上使用 msysgit 忽略 Git 中的目录或文件夹 创建一个名为 gitignore在您的项目目录中 通过在文件中输入目录名称 附加斜杠 来忽略目录 dir to ignore 更多信息是here http gi
  • 如何使 std::cin 读取空格? [复制]

    这个问题在这里已经有答案了 我知道这个问题之前已经在这个网站上被问过 但我似乎无法掌握如何让它与我的特定程序一起工作 本质上 我正在创建一种小型 MadLibs 类型的游戏 玩家必须输入某些内容才能将其融入故事中 现在 如果用户输入中没有空
  • 保存 PDF 时的 matplotlib 线宽

    我有一个具有一些对线宽敏感的相当微妙的特征的图形 我想将此图保存为可以轻松打印的 PDF 即接收器端无需缩放 只需 Command P 即可 不幸的是 当我设置 Figsize 8 5 11 以便正确调整 PDF 的打印大小时 matplo
  • 在 CodeIgniter 中上传多个文件

    在我的 CodeIgniter 项目中 我在项目创建期间上传文件 这是上传功能 function uploadFiles this gt load gt library upload error 0 projectName POST pro
  • data.table::fread 中的 dec 参数

    我在用fread from data table加载 csv 文件 但是我的 csv 文件使用dec 作为小数点分隔符 1 23将1 23 与在read csv看起来dec不是允许的参数 R args fread function inpu
  • 获取所有当前(活动)订阅

    是否可以获取所有 活动 订阅而不手动存储它们 我想unsubscribe所有 活动 订阅 并且不想在数组或变量中引用它们中的每一个 我取决于你使用的是Subject还是Observable 但可能没有办法 自动 做到这一点 观测值 我不认为
  • 如何在没有文档的情况下重构一个 10000 行的 Delphi 单元?

    我被分配了重构 Delphi 单元的任务 哇 10000 行代码 没有文档 大量的复制和粘贴代码 有很多用复制和粘贴制作的方法可以重构 无论如何 我迷失在所有这些行中 我有界面部分 我可以在其中 找到我的路 但总的来说 你建议如何处理此类任
  • Yii 间接修改重载属性

    winnerBid Bids model gt find criteria 模型有以下关系 public function relations return array item gt array self BELONGS TO Goods