php – Laravel 5 Eloquent toJson / toArray导致奇怪的分段错误
发布时间:2020-12-14 19:42:25 所属栏目:大数据 来源:网络整理
导读:我讨厌回答我自己的问题,所以也许你可以帮我找到解决这个问题的方法. 我有一些雄辩的模型属于彼此,我通过像这样的关联设置它们.这都是正常的事情. 不幸的是,这个过程导致$device工作不正常.您可以在下面看到可以访问各个值,但任何形式的jsonification都会在
我讨厌回答我自己的问题,所以也许你可以帮我找到解决这个问题的方法.
我有一些雄辩的模型属于彼此,我通过像这样的关联设置它们.这都是正常的事情. 不幸的是,这个过程导致$device工作不正常.您可以在下面看到可以访问各个值,但任何形式的jsonification都会在没有错误的情况下销毁服务器. $device = $truck->device; if(is_null($device) || empty($device)) { $device = new Devices; } $device->truck()->associate($truck); $device->fleet()->associate($fleet); $device->serial = $device_input['serial']; $device->save(); $truck->device()->associate($device); $truck->save(); error_log( $device->id ); //OK error_log( $truck->device->id ); //OK error_log( $device->toJson() ); //ERROR SEGMENTATION FAULT error_log( $truck->toArray() ); //ERROR SEGMENTATION FAULT error_log( $truck->device->toJson() ); //ERROR SEGMENTATION FAULT error_log( $truck->device->toArray() ); //ERROR SEGMENTATION FAULT error_log( json_encode($device) ); //ERROR SEGMENTATION FAULT error_log( json_encode($truck->device) ); //ERROR SEGMENTATION FAULT 解决方法
Laravel没有正确处理错误.
首先,检查你的表.当我打印设备表时,我可以看到每次运行时都会创建新设备,这意味着关联显然无法正常工作. 我在if语句中移动了我的关联,如: if(is_null($device) || empty($device)) { $device = new Devices; $device->truck()->associate($truck); $device->fleet()->associate($fleet); } 因此,只有在创建设备时才会发生关联. 并且奇怪的是,值可以单独访问,但不能像json那样访问.如果有人知道任何laravel开发者或发布此官方错误报告的地方让我知道 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |