【问题标题】:Problems with removing Symfony2删除 Symfony2 的问题
【发布时间】:2015-05-13 14:24:53
【问题描述】:

我有删除操作:

public function deleteAction(Request $request, $id)
{
    $session = $request->getSession();
    $basket = $session->get('basket');
    foreach($basket as $key => $value)
    {
        $ids = $value['id']; 
        //var_dump( $ids, $id); output - string(1) "1" string(1) "1"
        if($ids == $id)
        {
            unset($value[$ids]);
            $session->set('basket', $value);
        }
    }
 return $this->redirectToRoute('index_action');
}

和数组,看起来像:

[
  0 => [
    id => 1
  ], 
  1 => [
    id => 6
  ]
]

我想删除带有 $id 的项目。

我有一个错误:

SQLSTATE[HY093]:参数号无效:列/参数从 1 开始;

请帮我解决这个问题。

【问题讨论】:

    标签: arrays symfony


    【解决方案1】:

    我认为该错误无关紧要。

    对于你原来的问题:

    unset($basket[$key]);
    $session->set('basket', $basket);
    

    希望对你有帮助。

    【讨论】:

    • 我试试你的回答,但是,我有这样的数组 [1 => [ id => 6 ], 2 => [ id => null ]] 并且我的项目没有删除
    • 谢谢,有帮助。我这样做了,但显然忘记清理会话)
    【解决方案2】:

    你的探针在那里。

            unset($value[$ids]);
            $session->set('basket', $value);
    

    您之前删除了 $value。并添加到会话删除变量($variable)。

    【讨论】:

    • 我添加到会话数组中没有我在上面删除的元素
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 2011-09-05
    • 2011-12-24
    • 1970-01-01
    相关资源
    最近更新 更多