簡體   English   中英

laravel 葉片局部視圖錯誤中的未定義變量

[英]Undefined variable in laravel blade partial view error

加載頁面時出現以下錯誤: Undefined variable: userIds

但是,當我嘗試{{ isset($userIds) ? 'Yes' : 'No' }} {{ isset($userIds) ? 'Yes' : 'No' }}當到達代碼塊時它返回 'Yes'。

以下輸入類型中的變量 $userIds 發生錯誤:

</li>
    @foreach ($users as $index => $user)
        <li class="list-group-item"
            style="{{ (isset($usersFiltered) && is_array($usersFiltered) && !in_array($user->id, $usersFiltered) ) ?
                'display: none;' : ''}}">
            <div class="checkbox">
                <label>
                    <input type="checkbox" class="awe-selectable" id="users[{{ $index }}]" name="users[{{ $index }}]"
                        value="{{ $user->id }}" {{  in_array($user->id,$userIds) ? 'checked' : '' }}>
                    &nbsp;&nbsp;
                    <label for="users[{{ $index }}]">{{ $user->name }}</label>
                </label>
            </div>
        </li>
    @endforeach

我的控制器代碼將變量發送到部分:

return view('core::admin.groups.partials._users_form', [
        'group'         => $group,
        'users'         => $users,
        'usersFiltered' => $usersFiltered,
        'userIds'       => $userIds,
    ]);

是語法錯誤嗎? 如果我用任何其他變量替換 $userIds,這些變量也會返回相同的“未定義”錯誤(fe with $usersFiltered)

提前致謝,將根據需要編輯帖子並提供更多信息。

語法對我來說看起來不錯,但我建議你這樣做:

// in your controller
foreach ($users as $user) {
 $user->checked = false;
 if ((is_array($userIds) and !empty($userIds)) and in_array($user->id, $userIds)) {
     $user->checked = true;
 }
}

現在不需要將$userIds發送到視圖,因為您在控制器中修復了它。

// in your view
<input type="checkbox" class="awe-selectable" id="users[{{ $index }}]" name="users[{{ $index }}]" value="{{ $user->id }}" {{  ($user->checked) ? 'checked' : '' }}>

快樂編碼!

解決了!

問題是頁面渲染的時候,變量沒有在主頁面渲染(/create)中定義,只有在渲染部分的方法中,所以當我打開主窗口時,變量還沒有定義,因為它僅在應用過濾器后才從控制器接收。

解決方案:

/**
 * GET: /admin/security/groups/create
 */
public function create()
{
    **$userIds = !empty($request['userIds']) ? $request['userIds'] : [];**

(……)

return view('core::admin.groups.create', [
            'group'      => new Group,
            **'userIds'    => $userIds,**
            'users'      => $users,
            'isCreating' => true,
        ]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM