【问题标题】:Dropdown filter doesn't work in Laravel 5.8下拉过滤器在 Laravel 5.8 中不起作用
【发布时间】:2019-11-19 22:57:30
【问题描述】:

我尝试使用此代码进行输入下拉过滤器:

<div class="col-md-2">  
    <div class="text-justify" >
        <select class="itemName form-control form-filter" style="width:90px;" name="itemName" id="itemName">
            @foreach($data as $category){
                 <option value="{{$category->Umur}}">{{$category->Umur}}</option>
            @endforeach
        </select>
    </div>
</div> 

但是,我的代码没有按预期运行(如下图所示)- 代码只调用数据库中的第一行。我应该用代码编辑什么?

【问题讨论】:

  • 你能把$data的控制器部分贴出来吗?
  • class FiltersController extends Controller { public function filter(){ $data = create::all();返回视图('pages.custom', ['data' => $data]); } }
  • 这是控制器
  • create 是模特吗??
  • $data]); } } ..ModifiedDppr 是模型

标签: laravel dropdown


【解决方案1】:
<div class="col-md-2">  
    <div class="text-justify" >
        <select class="itemName form-control form-filter" style="width:90px;" name="itemName" id="itemName">
            @foreach($data as $category){
                 <option value="{{$category->Umur}}">{{$category->Umur}}</option>
            @endforeach
        </select>
    </div>
</div> 

删除 @foreach 之后的 { 并更改值

<div class="col-md-2">  
    <div class="text-justify" >
        <select class="itemName form-control form-filter" style="width:90px;" name="itemName" id="itemName">
            @foreach($data as $category)
                 <option value="{{$category->id}}">{{$category->Umur}}</option>
            @endforeach
        </select>
    </div>
</div> 

【讨论】:

  • 它仍然只调用数据库表的第一行
  • 我在课堂上删除了 itemName。但是,输入框不见了。我只能使用下拉菜单。我该如何解决? (已经尝试了很多方法-失败)
  • dd($data)的结果是什么
  • 已解决。感谢您的帮助!
【解决方案2】:

我自己也有这个问题,这是我用的:

                         <div class="form-group">
                            <div class="btn-group">
                          <input list="brow" class="form-control"name="instagram_account_id" id="instagram_account_id" placeholder="Search..">
                                <datalist id="brow">
                                    @if($users->count() > 0)
                                      @foreach($users as $user)    
                         <option value="{{$user->id}}">{{ $user->username }}</option>
                                      @endforeach 
                                    @else 
                                    No User(s) Found
                                    @endif
                                </datalist>
                            </div>
                        </div>

至于我的控制器:

public function index()
    {
        $comments = Comment::paginate(10);
        $users = InstagramAccount::all();


        return view('instagramComments', [
            'comments' => $comments,
            'users' => $users,
        ]);
    }

并且(如果你打算使用表单)我在我的控制器中插入:

public function insert(Request $req)
    {
        $instagram_comment = $req->input('instagram_comment');
        $instagram_account_id = $req->input('instagram_account_id');

        $data = array('comment'=>$instagram_comment, 'account_id'=>$instagram_account_id);

        DB::table('comments')->insert($data);
        return redirect('/comments');
    }

(如果使用上面的插入,请在您的网络路由中使用):

Route::post('/locationsInsert', 'InstagramLocationsController@insert')->middleware('auth');

希望对您有所帮助!

【讨论】:

  • 已解决。感谢您的帮助!
猜你喜欢
  • 2021-07-18
  • 2018-09-18
  • 2015-09-10
  • 1970-01-01
  • 2020-12-13
  • 2022-01-24
  • 2020-02-19
  • 2020-12-14
  • 2014-04-12
相关资源
最近更新 更多