【问题标题】:Laravel 5.3 get boolean value from associative arrayLaravel 5.3 从关联数组中获取布尔值
【发布时间】:2017-06-02 07:59:10
【问题描述】:

我有一个这样的ImageController

$image = Image::where('id', $id)->first();

return [
    'image' => $image,
    'image_360' => $image['360']
];

前面几行返回给浏览器的内容如下:

{
    "image": {
        "id": 1,
        "name": "default.jpg",
        "360": 1,
    },
    "image_360": null
}

Image 迁移:

$table->increments('id');
$table->string('name');
$table->boolean('360');

Image 模型:

class Image extends Model
{
    protected $fillable = ['name', '360'];

    protected $casts = [
        '360' => 'boolean'
    ];
}

如果$images['360'] 的值为true,为什么会返回null

【问题讨论】:

  • 您需要将其转换为boolean
  • 如果我将其转换为(bool)$image['360'],当预期值为true时,它会返回false
  • var_dump($image['360']) 和 var_dump($image) ???
  • var_dump($image['360'])var_dump($image[360])var_dump($image[`360`]) 返回NULL
  • 我现在想不通。但 array_values($image)[2] 可能是一种解决方法。虽然不是很好。

标签: php object indexing eloquent laravel-5.3


【解决方案1】:

这是解决方法:我尝试了很多方法,但没有得到直接访问此 post 中描述的数值的方法

return [
    'image' => $image,
    'image_360' => array_values($image->toArray())[2];
];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多