我是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>
答案 0 :(得分:1)
通常,在尝试将数组作为对象访问时,会出现此“试图获取非对象的属性”错误。 确保从表中检索的所有数据都不是数组。
答案 1 :(得分:0)
检查数据库是否已填充一些值 在我的情况下,尝试获取非对象的属性,此错误是由于我的数据库为空