关于这个话题,我提到了一个奇怪的问题。。我自己“解决”了这个问题,但想讨论一下是否有人理解这背后的问题。
此查询适用于php 7.0:
$image = (ProductImage::all()->where('productHistory_id', $product->history_id))->first();
并导致语法错误,意外'-
此查询(不带括号)适用于php 7.0和5.6:
$image = ProductImage::all()->where('productHistory_id', $product->history_id)->first();
什么?!
亲切的问候,尼科
PHP类型检查在5. x和7. x之间被频繁修改
在这两个版本中,表达式:
ProductImage::all()->where('productHistory_id', $product->history_id)
返回QueryBuilder的实例。
我怀疑括号的存在会导致早期版本的PHP解释器将其理解为标量值(如(1)1所示),而不是对象值。
这解释了为什么您会因为PHP5而得到一个意外的对象操作符。X不理解(…)的返回将表达式正确地表示为对象。
此错误是由与此有关数组解引用的错误完全相同的解析错误引起的。它出现在PHP5.4之前的版本中,是由于intereter没有检测到函数作为数组返回,而事先没有使用变量来存储它。
另外,括号不会改变任何东西,因为对象上的操作总是在语句中从左到右执行。我可以建议您避免在代码库中添加无用的噪声吗?
我有以下三种型号: 类别字段: 分类选项: 当我运行这个查询时,我得到了这个错误: SQLSTATE[42S22]:列未找到: 1054未知列'field ID'在'where子句'(SQL:选择*从其中=3)任何帮助请知道是什么问题!!?
我有三种模式——博客、帖子、评论。博客有很多帖子,帖子有很多评论 当我写作时 它会给所有的博客发帖子和评论。但我将如何获得那些由管理员用户创建的博客,即评论表中的用户id。在哪里写入
在我的应用程序中,我更新了从一对多到多对多的关系,我试图找出一种持久化关联功能的方法。 假设我有两个相关的表,例如狗和主人。如果我有一系列的主人,并且我正试图为这些主人获取一份狗的id列表,我应该如何雄辩地做到这一点? 这里也提出了类似的问题:https://laracasts.com/discuss/channels/laravel/getting-many-to-many-related-da
我正在使用Laravel和它提供的雄辩的ORM,但我正在努力选择我需要的数据。我有两种型号 我该怎么做?
我有一个问题,我很难用laravel雄辩的ORM编写这个问题。 如果有人能帮忙,我将不胜感激。 下面是SQL表达式:
我正在编写php代码,对于当前的项目,我正在使用laravel框架(带有雄辩的ORM)。在这个项目中,我创建了两个表:用户和任务。我想在这些表之间创建一个“一对多”的关系。因此,一个用户可以有许多任务。在Tasks类中,我创建了方法所有者(): 但是当我以前得到用户名的时候 我得到这个异常:未定义的属性:illumb\Database\Eloquent\Relations\BelongsTo::$