正在尝试获取非对象的属性(视图:C:\xampp\htdocs\enginepoker2\resources\views\pages\player\u edit.blade.php)
我是拉拉维尔的初学者,当我把统计表放在刀刃上时,我得到了这个警告 正在尝试获取非对象的属性(视图: C:\xampp\htdocs\enginepoker2\resources\views\pages\player\u edit.blade.php) 这是模型播放器正在尝试获取非对象的属性(视图:C:\xampp\htdocs\enginepoker2\resources\views\pages\player\u edit.blade.php),php,laravel,eloquent,Php,Laravel,Eloquent,我是拉拉维尔的初学者,当我把统计表放在刀刃上时,我得到了这个警告 正在尝试获取非对象的属性(视图: C:\xampp\htdocs\enginepoker2\resources\views\pages\player\u edit.blade.php) 这是模型播放器 class Player extends Model { protected $player = 'players'; public function stats() { return $
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>
等级
{{$player->stats->rank}
通常,在尝试将数组作为对象访问时会出现“尝试获取非对象的属性”错误。
确保从表中检索到的所有数据都不是数组 检查数据库中填充了一些值
在我尝试获取非对象属性的情况下,此错误是由于我的数据库是emppty造成的。您能否告诉我此代码中必须更改哪一个?确保您没有使用foreach或forelse循环从数据库返回的结果。我也有同样的问题,但已经解决了。如何从另一个外键获取数据,如$data->tbl9->FKfromtbl9->name?@JuMa请通过Laravel雄辩地了解这些概念。然后在模型中定义关系,您将能够访问相关的表列。在这里阅读更多