Test Driven Laravel: неверный аргумент для foreach - PullRequest
0 голосов
/ 31 января 2020

Итак, у меня есть форма с несколькими полями, как показано ниже

 <ul class="list-group list-group-flush">
      @foreach ($group as $perm)
           <li class="list-group-item">{{$perm->name}}
               <div class="float-right">
                   <select name="perms[{{$perm->id}}]" class="form-control">
                       <option value="1">Yes</option>
                       <option value="0" selected>No</option>
                   </select>
               </div>
            </li>
       @endforeach
 </ul>

Мой контроллер похож на ниже

public function permission(int $id)
{

    $permission = request()->perms;

    foreach ($permission as $perm => $status)
    {

        if($status == 1)
        {
            //echo $perm . " " . $status;
            $user_perm = User_perms::create([
                'user_id' => $id,
                'perm_id' => $perm,
            ]);
        }
    }

    $user = Users::find($id);

    return redirect($user->path());
}

Этот код выполняет то, что я хочу, но у меня есть тест

public function permissions_applied_for_user()
{
    $this->withoutExceptionHandling();


    //create a user
    $this->post('/users/add', $this->data());
    $user = Users::first();
    //first clear out all data from user_perm table for specific user

    $response = $this->post('/users/permission/' . $user->id, [
        'user_id' => $user->id,
        'perm_id' => '1',
    ]);

    $this->assertCount(1, User_perms::all());
    $response->assertRedirect('/users/view/' . $user->id);
    //$response->assertOk();
    //second insert all new permissions into the table
}

, который выдает недопустимый аргумент исключения, предоставленный для каждого совета по поводу того, что я делаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...