首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下拉使用Laravel-5

下拉使用Laravel-5
EN

Stack Overflow用户
提问于 2016-04-01 10:06:14
回答 4查看 2.2K关注 0票数 2

这位是我的财务总监:

代码语言:javascript
复制
 public function create(){

     $categories =DB::select('select Code from ItemCategory');
     return view('item')->with('ItemCategory', $categories);

我的视图文件:

代码语言:javascript
复制
<div class="form-group">
{!! Form::label('Link Category') !!}<br />
{!! Form::select('categories', 
    (['0' => 'Select a Category'] + $categories), 
        null, 
        ['class' => 'form-control']) !!}
</div>

但是当我运行这个程序时,我会得到以下错误

InvalidArgumentException在FileViewFinder.php第137行中:未找到查看项。

PS:

我的数据库表:

代码语言:javascript
复制
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| ID             | int(11)     | NO   | PRI | NULL    |       |
| Code           | varchar(45) | NO   |     | NULL    |       |
| ItemCategotyID | int(11)     | NO   |     | NULL    |       |
| ItemLevelID    | int(11)     | NO   |     | NULL    |       |
| isActive       | varchar(45) | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

我试过的例子。这里的错误是什么?如何使用MySQL表获取下拉列表的值?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-04-07 05:05:43

要加载要下拉的值,必须使用route.php.

代码语言:javascript
复制
Route::get('additem',function(){
  $categories = ItemCategory::all();
  return view('***/***.add_item')->with('categories',$categories);
});

您必须将模型包含在route.php中。

代码语言:javascript
复制
use App\ItemCategory;

然后,在您的视图文件中,使用原始html。

代码语言:javascript
复制
<div class="form-group">
  {!! Form::label('Category', 'Category:') !!}
  <select class="form-control input-sm" name="">
    @foreach($categories as $cats)
      <option value="{{$cats->ID}}">{{$cats->Code}}</option>
    @endforeach  
  </select>
</div>

这是它如何处理dropdown列表从数据库中获取其值的方式:

票数 -1
EN

Stack Overflow用户

发布于 2016-04-01 10:15:38

在创建方法中,假设ItemCategory是您的模型

代码语言:javascript
复制
$categories = \ItemCategory::lists('name', 'id');

这一行的整数

代码语言:javascript
复制
$categories =DB::select('select Code from ItemCategory');

它将提供这种类型的输出。

代码语言:javascript
复制
array(
 1=>'Cat 1',
 2=>'Cat 2',
 3=>'Cat 3'
.......
)

更新的

Laravel反对使用lists()方法,并将其重命名为pluck。您可以阅读以下链接、访问链接中的详细信息,并可滚动到降级部分。

https://laravel.com/docs/5.2/upgrade#upgrade-5.1.11

票数 2
EN

Stack Overflow用户

发布于 2016-04-07 19:56:25

这似乎不是您从DB检索的内容的问题,而是您引用的视图的问题。

return view('item')->...视图'item‘可能不在您认为的位置。从laravel文档中引用:

当然,视图也可以嵌套在资源/视图目录的子目录中。“点”符号可用于引用嵌套视图。例如,如果您的视图存储在资源/ view /admin/profile.php中,您可以这样引用它:

代码语言:javascript
复制
return view('admin.profile', $data);

在关于DB查询的附带说明中,您可以尝试使用集合来简化处理视图的工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36353506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档