- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 heroku 中部署的 laravel API 中有一个小问题,它从无处开始发生在我身上,没有更新任何东西或进行任何相关更改,当我尝试使用任何 Eloquent 资源时,它发生在我身上,例如做的时候:
$brands = Brand::paginate(15);
return BrandResource::collection($brands);
我收到这个错误:
array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead
in DelegatesToResource.php line 49
稍微调查一下,找到文件:vendor
中的 DelegatesToResource.php
,实际上它使用:
public function offsetExists($offset)
{
return array_key_exists($offset, $this->resource);
}
为了进行测试,我创建了一个新的 Laravel 项目,实际上它附带的那一行已经更正了,如下所示:
public function offsetExists($offset)
{
return isset($this->resource[$offset]);
}
如果在我的项目中有任何方法可以解决这个问题,我知道我不应该也不能更改 vendor
中的文件,所以我的问题是在这种情况下该怎么办?
我正在使用 Laravel Framework 5.6.39 和 PHP 7.2.18 (cli)
最佳答案
解决方案一
将更新后的代码添加到您的 BrandResource
中,使其看起来像这样:
class BrandResource extends JsonResource
{
/**
* Determine if the given attribute exists.
*
* @param mixed $offset
* @return bool
*/
public function offsetExists($offset)
{
return isset($this->resource[$offset]);
}
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return parent::toArray($request);
}
}
方案二
如果您在多个资源中对数据进行分页,那么最好扩展包含此更新函数的自定义类,而不是直接扩展 JsonResource
。所以它看起来像这样:
class CustomResource extends JsonResource
{
/**
* Determine if the given attribute exists.
*
* @param mixed $offset
* @return bool
*/
public function offsetExists($offset)
{
return isset($this->resource[$offset]);
}
}
并使用您的资源,例如:
class BrandResource extends CustomResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return parent::toArray($request);
}
}
关于php - array_key_exists() 错误/编辑供应商文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60212635/
我有这个数组: $variableNames = [ 'x1', 'x2', 'x3', 'x4', 'x5',
array_key_exists 不适用于大型多维数组。例如 $arr = array( '1' => 10, '2' => array( '21' => 21,
我正在尝试检查一个数组中是否存在另一个数组的任何值。函数 array_key_exist() 看起来像我正在搜索的内容,但我不明白如何将函数的键值作为数组提供。这是代码: $risultato_que
我在 heroku 中部署的 laravel API 中有一个小问题,它从无处开始发生在我身上,没有更新任何东西或进行任何相关更改,当我尝试使用任何 Eloquent 资源时,它发生在我身上,例如做的
我正在尝试在数据更改时向用户发送广播通知。但是每次我尝试发送通知时,都会收到此错误: array_key_exists(): The first argument should be either a
这个问题已经有答案了: What's the difference between isset() and array_key_exists()? [duplicate] (8 个回答) 已关闭 7
我有世界上所有国家的数组: $countries = array( "GB" => "United Kingdom", "US" => "United States", "AF" => "
我组合了两个数组创建了以下数组,命名为 $group_wages_array: Array ( [1] => 500 [4] => 44 [6] => 80 [3] => 11.25 ) 我正在尝试测
这是一个复杂的问题......: 编辑!! 我试过这个...: 但它不起作用...: if ($citation->MeshHeadingList) {//b
php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 i
我得到了这个错误。当在 CREATED_AT 和 UPDATED_AT 上使用这种模型执行初始化错误时,我得到了 array_key_exists() 的错误,但是当我初始化时null 值我的模型正常
我在这里有疑问。实际上,in_array() 和array_key_exists() 有什么区别。我试图找到这个,但我仍然感到困惑。我能得到一份 sample 吗?? 谢谢。 最佳答案 in_arra
我有一个数据库,其中编码为 UTF-8 用于多语言目的。我认为我的应用程序中的所有内容都是 UTF-8。 尽管我对 array_key_exists 函数有疑问。 首先查询数据库 从表中选择名称,值
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: What’s quicker and better to determine if an array key
这个问题在这里已经有了答案: What's quicker and better to determine if an array key exists in PHP? (11 个回答) 关闭3年前。
php array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢?本文章将为大家讲解array_key_exists(
我有一个数组,其中有几个 amount(基于 $$$ 销售额)附加到 id(其中一些 ids 是相同的,基于谁进行了销售)。我的目标是收集总计 amount 并将每个总计附加到进行销售的任何 id )
从数据库表中获取图像数据,在图像列中,我们为一个产品提供了 8 个不同尺寸的图像链接,每个图像链接都有其尺寸详细信息,例如:- 100x100、200x200、500x500 等。 所有图片都用逗号指
这个问题在这里已经有了答案: Why check both isset() and !empty() (10 个答案) 关闭 9 个月前。 在编写 php 代码时,我尽量避免出现尽可能多的警告。关于
我已经进行了大量搜索,但无法弄清楚这一点。 我有一个这样的数组: $array = array(cat => 0, dog => 1); 我有这样一个字符串: I like cats. 我想查看字符串
我是一名优秀的程序员,十分优秀!