Laravel 4 Laravel 4:提交<;选项>;控制器的值

Laravel 4 Laravel 4:提交<;选项>;控制器的值,laravel-4,Laravel 4,我有一个表单,在传递给视图之前在控制器中生成: public function displayUsers(){ $html = ""; //get all users $users = $this->entityManager->getRepository('User')->findBy(array(), array('last_name'=>'ASC')); if($users){ $html .= '<h3&g

我有一个表单,在传递给视图之前在控制器中生成:

public function displayUsers(){
    $html = "";

    //get all users
    $users = $this->entityManager->getRepository('User')->findBy(array(), array('last_name'=>'ASC')); 
    if($users){
        $html .= '<h3>Permissions By User</h3>';
        $html .= '<select class="form-control" id="permissions-username">';
        foreach($users as $user){
            $html .= '<option value="'.$user->getId().'">'.$user->getLastName().', '.$user->getFirstName().'</option>';
        }
        $html .= '</select>';
    }
    return View::make('admin')->with('output', $html);  
}
生成的URL为:

*(BASE)*/permissions/%7Bpermissions%7D/edit?edit_user=Edit+User

如果我使用刀片模板在视图上创建一个表单,这个问题就解决了。但是,我不想让表单的所有逻辑都出现在我的视图中。

这是因为您的
select
没有名称,现在的名称如下:

<select class="form-control" id="permissions-username">
每个表单元素必须有一个名称,否则您无法在服务器端访问它们。因此,现在您可以使用类似这样的方式(在
Laravel
的情况下)访问服务器上的元素(在脚本中):

否则(使用香草
PHP
)您可以使用:

$permissions_username = $_GET['permissions_username'];
因为您在表单中使用了
GET
方法。因此,无论您使用什么,都需要为表单的元素指定一个名称,这是必要的(即使有或没有
Laravel

<select class="form-control" id="permissions-username">
<select name="permissions_username" class="form-control" id="permissions-username">
$permissions_username = Input::get('permissions_username');
$permissions_username = $_GET['permissions_username'];