2

在我之前的问题中,我必须执行原始 SQL 查询。

我在控制器中声明了一个公共函数:

public function deaths()
{
    $getdeaths = DB::statement('SELECT * FROM player_deaths ORDER BY time DESC LIMIT 10');
    return View::make('main.latestdeaths')->with('getdeaths', $getdeaths);
}

检索数据时,我想显示玩家姓名,因此在 foreach 的视图中尝试运行 SQL 查询。

        @foreach($getdeaths as $getdeath)
    <tr>
        <? $name = DB::select( DB::raw('SELECT name FROM players WHERE id = '$getdeath->player_id'') ) ?>
        <td>{{ $getdeath->player_id }}</td>
        <td></td>
        <td></td>
    </tr>
    @endforeach

当我尝试回显 $name 时,未定义该变量。

我可以用其他方式解析它吗?

4

3 回答 3

2

干得好 :

$getDeaths = DB::table('player_deaths')->orderBy('time','desc')->take(10)->get();
return View::make('main.latestdeaths')->with('getDeaths', $getDeaths);

这将为您提供按时间排序的所有 player_deaths 对象。

于 2013-08-17T10:48:37.107 回答
0

看看作曲家。基本上是在呈现某些视图名称时调用的过滤器或类方法,并自动分配视图变量。

告诉作曲家运行查询并为您希望信息可用的视图设置死亡变量。

然后,您可以像在视图中分配它一样循环变量。

于 2013-08-17T23:10:17.650 回答
0

您正在使用 DB::select 因此您必须执行 get() 来检索记录,顺便说一下,对视图进行 SQL 查询不好,不要尊重 MVC 架构模式。

于 2013-08-16T23:35:08.273 回答