尝试获取非对象的属性(视图:C:\ xampp \ htdocs \ enginepoker2 \ resources \ views \ pages \ player_edit.blade.php)

时间:2018-09-20 07:44:08

标签: php laravel eloquent

我是laravel的初学者,当我将stats表放在刀片中时,收到此警告

  

试图获取非对象的属性(查看:   C:\ xampp \ htdocs \ enginepoker2 \ resources \ views \ pages \ player_edit.blade.php)

这是在Player模式中

class Player extends Model
{
    protected $player = 'players'; 

    public function stats()
    {
        return $this->belongsTo(Stat::class, 'player');
    }
}

这是统计模型中的

class Stat extends Model
{
    protected $stat = 'stats';
}

这在播放器控制器中

use App\Stat;
use App\Player;
use App\dealers;
use Illuminate\Http\Request;

class botsController extends Controller
{
public function edit(Player $player, Stat $stat, dealers $dealer)
    {
        return view('pages.player_edit', compact('player', 'stat', 'dealer'));
    }
}

这条路在

Route::get('/index/bots/id={player}/edit', 'botsController@edit')->name('editBot');

这是在player_edit.blade中,我收到非对象警告

<p>
   <span style="display: inline-block; min-width: 150px;">Rank</span>
   <span class="badge black">{{ $player->stats->rank }}</span>
</p>

2 个答案:

答案 0 :(得分:1)

通常,在尝试将数组作为对象访问时,会出现此“试图获取非对象的属性”错误。 确保从表中检索的所有数据都不是数组。

答案 1 :(得分:0)

检查数据库是否已填充一些值 在我的情况下,尝试获取非对象的属性,此错误是由于我的数据库为空