Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Laravel阵列和foreach_Arrays_Laravel_Foreach - Fatal编程技术网

Arrays Laravel阵列和foreach

Arrays Laravel阵列和foreach,arrays,laravel,foreach,Arrays,Laravel,Foreach,所以我通过POST请求从Ionic应用程序向API发送了一系列调味品,这些调味品在移动部件上用复选框表示。我想获得选中的复选框,以便可以相应地创建表行 路由触发时调用的方法有以下部分: $condiments = Input::only('condiments'); foreach ($condiments as $condiment) { if ($condiment['checked'] == 1) { OrderCondiment::create(

所以我通过POST请求从Ionic应用程序向API发送了一系列调味品,这些调味品在移动部件上用复选框表示。我想获得选中的复选框,以便可以相应地创建表行

路由触发时调用的方法有以下部分:

$condiments = Input::only('condiments');

foreach ($condiments as $condiment) {
        if ($condiment['checked'] == 1) {
            OrderCondiment::create(['order_item_id' => $orderItem, 
                                    'condiment_id' => $condiment->id]);
        }
}
但我得到
非法字符串偏移量“已检查”
错误。我尝试了
$consumment->checked
,但后来我得到了
尝试获取非对象的属性的
错误…除了咖啡,我还缺少什么

编辑

dd($condiments)

array:1 [
  "condiments" => "[{"id":1,"name":"ut","price":3,"created_at":null,"updated_at":null,"checked":1},{"id":2,"name":"ipsam","price":5,"created_at":null,"updated_at":null,"checked":1},{"id":3,"name":"dolores","price":10,"created_at":null,"updated_at":null,"checked":1},{"id":4,"name":"esse","price":3,"created_at":null,"updated_at":null,"checked":0},{"id":5,"name":"aliquid","price":1,"created_at":null,"updated_at":null,"checked":0},{"id":6,"name":"sunt","price":3,"created_at":null,"updated_at":null,"checked":0},{"id":7,"name":"saepe","price":1,"created_at":null,"updated_at":null,"checked":0},{"id":8,"name":"impedit","price":10,"created_at":null,"updated_at":null,"checked":0},{"id":9,"name":"dolores","price":4,"created_at":null,"updated_at":null,"checked":0},{"id":10,"name":"veniam","price":2,"created_at":null,"updated_at":null,"checked":0}]"
]

将字符串转换为数组

$condiments = Input::only('condiments');
$condiments= json_decode( $condiments['condiments']) ;
foreach ($condiments as $condiment) {
    if ($condiment->checked == 1) {
        OrderCondiment::create(['order_item_id' => $orderItem, 
                                'condiment_id' => $condiment->id]);
    }
}

dd('$consuments)
显示了什么?任何来自
Input
的内容都是一个数组;你不能这样做
$consumment->id
它应该是:
$consumment['id']
是的,但是它在“if”子句所在的行上出错了,好吧,@AlexeyMezenin是正确的,因为你应该使用
dd
来进行一些调试。伙计……我在过去的两个小时里一直在努力解决这个问题,我在被卡住5分钟后才来到这里…无法使用stdClass类型的对象作为数组->第32行的错误(其中“if”子句为)使用$consum->checked而不是$consum['checked']