Php Laravel 5.3从关联数组中获取布尔值
我有一个像这样的Php Laravel 5.3从关联数组中获取布尔值,php,object,indexing,eloquent,laravel-5.3,Php,Object,Indexing,Eloquent,Laravel 5.3,我有一个像这样的ImageController: $image = Image::where('id', $id)->first(); return [ 'image' => $image, 'image_360' => $image['360'] ]; 前几行返回到浏览器,如下所示: { "image": { "id": 1, "name": "default.jpg", "360": 1,
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
}
图像
迁移:
$table->increments('id');
$table->string('name');
$table->boolean('360');
图像
型号:
class Image extends Model
{
protected $fillable = ['name', '360'];
protected $casts = [
'360' => 'boolean'
];
}
为什么
$images['360']
如果其值为true
,则返回null
?以下是解决方法:我尝试了许多方法,但没有找到一种直接的方法来访问本文中描述的数值
您需要将其强制转换为
boolean
。如果我像(bool)$image['360']
那样强制转换,则当预期值为true
var\u dump($image['360'])和var\u dump($image['360'])和var\u dump($image['360'])
、var\u dump($image[360])和var\u dump($image['360`])时,它将返回false
returnNULL
我现在想不出来。但是array_值($image)[2]可能是一个演练。虽然这不是个好主意。
return [
'image' => $image,
'image_360' => array_values($image->toArray())[2];
];