【问题标题】:Laravel controller with modal bootstrap带有模态引导的 Laravel 控制器
【发布时间】:2017-04-05 14:24:16
【问题描述】:

我使用 Laravel Framework 5.4,我需要从一个按钮传递参数,该按钮打开一个 Modal,在 myController 中接收此参数并将数据返回给 myModal,有人帮帮我吗?

page1.blade.php

这个按钮用jquery打开我的searchmodal.blade.php,我的href可以调用myController吗?

<a href="{{url('myController@search')}}" class="btn btn-success btnsearch">Search</a> 

jquery

    $('.btnsearch').click(function(e){
               $("#searchmodal").modal('show');
     })

myController 需要这个参数和返回变量才能进入 Modal。

myController.php

public function search(parameter1){

  $customers = Customer::find(parameter1);

  //return my modal or page1?
   return view('searchmodal', compact('customers'));
}

mymodal.blade.php,如何从 myController 获取 customers 变量?

<div class="modal fade searchmodal" id="searchmodal"  tabindex="-1" aria-labelledby="searchmodal" role="dialog">
....
</div>

【问题讨论】:

    标签: php laravel bootstrap-modal


    【解决方案1】:

    如果你使用刀片模板,你可以使用@foreach loop

    例子:

    @foreach ($customers as $customer)
        <p>This is customer {{ $customer->id }}</p>
    @endforeach
    

    【讨论】:

    • 给我看未定义的变量:客户,我如何传递给模型,这就是我的返回视图?
    • return view('searchmodal', compact('customers')); 应该这样做
    【解决方案2】:

    这是我从您的问题中了解到的:您有一个按钮可以打开一个带有搜索表单的模式,您需要将参数传递给您的控制器,该控制器将返回结果。

    <!-- Trigger the modal with a button -->
    <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
    
    <!-- Modal -->
    <div id="myModal" class="modal fade" role="dialog">
      <div class="modal-dialog">
    
        <!-- Modal content-->
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Search</h4>
          </div>
          <div class="modal-body">
              <form method="GET" action={{ route('your.search.route') }}>
                  <input type="text" name="search" class="form-control" />
                  <input type="submit" class="btn btn-success" value="search" />
              </form>
          </div>
        </div>
    
      </div>
    </div>
    

    然后你需要在你的控制器中执行搜索

    public function search(Request $request){
      // request object holds all the data you submitted through form
      $keyword = $request->search;
    
      // you can implement your search logic according to your need
      $customers = Customer::where('field_name', 'LIKE', $keyword . '%')->get();
    
      return view('searchmodal', ['customers' => $customers]);
    }
    

    在您看来,您可以访问客户数据

    @foreach ($customers as $customer)
        <p>This is customer {{ $customer->id }}</p>
    @endforeach
    

    您可能需要根据需要更改它,但您应该明白这一点。 希望对您有所帮助。

    【讨论】:

    • 它是相反的!我需要从我的 Modal 中的控制器获取数据。
    • 所以你打开模态并从控制器中获取数据并在模态中显示它?
    • 是的!很抱歉没有更好地解释
    • 那你为什么不 ajax 从你的服务器获取数据。
    【解决方案3】:

    检查控制器

    public function search(parameter1){
      $customers = Customer::find(parameter1);
      //return my modal or page1?
       return view('searchmodal', array('customers'=>$customers));
    }
    

    在视图中您可以访问$customers 变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-29
      • 2011-10-08
      • 2016-06-03
      • 1970-01-01
      • 2016-08-16
      • 2012-09-17
      • 2017-10-21
      • 2017-05-14
      相关资源
      最近更新 更多