0

ifステートメントの実行に問題があります

if($ parent == $ page-> parent)

私のドル$parent=nullおよび私の$page->parent = 0どうすれば、これらが等しいようにこれを修正できますか?

nullが0に等しいことを知らないという事実に問題があると思います

$page = Page::find($id);
$parent = Input::get('parent'); // Null

私はあなたたちが私を助けてくれることを願っています私はこれを理解する必要があります

あなたがそれを見たくない場合に備えて、これが私のコントローラーです

public function updateMenu($id)
{
    $page = Page::find($id);
    $parent = Input::get('parent');
    $new_order = Input::get('index');

    if($parent == $page->parent)
    {
        if($page->order_id > $new_order)
        {
            DB::table('pages')
                ->where('parent',$parent)
                ->where('order_id', '<', $page->order_id)
                ->increment('order_id');
        }
        else
        {
            DB::table('pages')
                ->where('parent',$parent)
                ->where('order_id', '>=', $page->order_id)
                ->decrement('order_id');
        }
    }
    else
    {

            DB::table('pages')
                ->where('parent',$parent)
                ->where('order_id', '>=', $new_order)
                ->increment('order_id');

    }



    $page->order_id = Input::get('index');
    $page->parent = Input::get('parent');

    $page->save();

    return $id;
}
4

3 に答える 3

1

私は0がNULLと等しいとは思わない。たぶんif($parent == $page->parent || ($parent == null && $page->parent == 0))もっと役立つ

于 2013-03-01T09:03:47.173 に答える
0

厳密な等価演算子を使用します: == の代わりに ===

localhost> = 0 === null
false
localhost> = 0 == null
true
于 2013-03-01T09:02:58.370 に答える
0

以下を使用できます。

if(is_null($parent) && ($page->parent==0))
{

}
于 2013-03-01T09:08:34.090 に答える