Laravel收到错误未定义的变量

时间:2018-06-14 11:11:31

标签: php mysql laravel

我试图将STEAM_ID取出来给昵称。

示例:我有一个名为player_id的表行,另一个表用户名为username。我试图将STEAM_ID转换为用户名。 示例:STEAM_0:0:1236546695到用户名:ADMIN。

代码:

public function index()
{
    $this->title('Banned players');
    $this->indexPage([
        'buttons'       => null,
        'brightenFirst' => false,
        'sortby' => 'bid',
        'tableHead'     => [
        'ID' => 'id',
            'Player'           => 'player_id',
            'Length' => 'length',
            'Reason' => 'reason',
            'Banned by' => 'admin',
        ],
        'tableRow'      => function($bans_bans)
        {
            return [
            $bans_bans->bid,
                $bans->banusername,
                $bans_bans->ban_length,
                $bans_bans->ban_reason,
                $bans_bans->admin_id,
            ];
                $bans->banusername = User::where('steam_id', '=', $bans_bans->player_id)->first()->username;
        },
        'actions'       => null,
    ], 'front');
}

但是得到错误:

  

未定义变量:禁止

有任何帮助吗?我是laravel的新手,所以不要生我的气!谢谢你的答案!

1 个答案:

答案 0 :(得分:2)

您错误地使用$bans而不是$bans_bans。您需要更改2个地方。试试这段代码:

return [
    $bans_bans->bid,
    $bans_bans->banusername,
    $bans_bans->ban_length,
    $bans_bans->ban_reason,
    $bans_bans->admin_id,
];
$bans_bans->banusername = User::where('steam_id', '=', $bans_bans->player_id)->first()->username;