当我在laravel的视图页面上调用它时,foreach循环不显示数据

时间:2016-11-30 12:33:24

标签: php jquery mysql laravel-5.3

我在控制器中有这个代码。当我在视图中打印变量时,它只给出数据库表列的最后一行。我如何在视图中将所有值打印为字符串。任何人都可以帮忙吗

public function welcome(){
    $company_name = DB::table('companies')
            ->select('company_name')
            ->get(); 
    return view('welcome',['company_name' => $company_name]);
}

我正在尝试访问此jquery代码中的值

 @foreach ($company_name as $company_names)


  <script>
  $(document).ready(function() {
  $("#tags").autocomplete({
    source: [
         { value: "{{$company_names->company_name}}", url:        "http://localhost:8000/company_profile" }, 

    ],
    select: function (event, ui) {
        window.location = ui.item.url;
    }
  });
  });
  </script>

@endforeach

2 个答案:

答案 0 :(得分:1)

确保在控制器中添加use Illuminate\Support\Facades\DB;

答案 1 :(得分:0)

您似乎只将最后一行的值发送到View。 这样做可能会有所帮助:

//controller
public function welcome(){
     $company_names = DB::table('companies')
        ->select('company_name')
        ->get();
return view('welcome',compact('company_names'));
}

将此代码添加到您的视图中:welcome.blade.php

//Printing a list of companies in a View
<ul>
@foreach ($company_names as $company_name)
           <li>{{ $company_name->company_name }}</li>
@endforeach
</ul>