在Laravel中触发“select”查询返回NULL

时间:2017-02-13 22:32:49

标签: php mysql laravel

我开始学习Laravel,但不足为奇,我遇到了问题。我知道的这个是基本的,但我无法解决。我正试图从数据库中做一个简单的SELECT,但它没有显示任何内容!

这是代码

web.php

Route::get('list', ['uses' => 'robotController@index']);

robotController

public function index()
{
    $robots = DB::select('select * from robots where Name = ?', [1]);
    return view('ListaRobots', ['robots' => $robots]);
}

listaRobots.blade.php

@foreach ($robots as $robot) {{ $robot['Name'] }} @endforeach

我正在尝试制作一个获得所有机器人“名称”的foreach,但我无法得到任何东西。屏幕全部空白。但我在机器人表中有两个条目。我已将.env更改为连接到数据库,并设法使用种子在表中创建条目,但无法进行查询。

2 个答案:

答案 0 :(得分:2)

看起来您正在尝试按名称获取机器人列表。所以改变一些事情。

路线:

Route::get('/robots/{name}', ['uses' => 'robotController@show']);

控制器:

function show($name) {
    $robots = DB::table('robots')->where('name', '=', $name)->get();
    return view('ListaRobots', ['robots' => $robots]);
}

答案 1 :(得分:1)

您正在选择Name等于1的所有行。 你确定那是你想要的吗?

您可能希望将Name重命名为id