我是 Laravel 新手,我收到此错误
Property [stats] does not exist on this collection instance. (View: C:\xampp\htdocs\enginepoker2\resources\views\pages\players.blade.php)
这是在players.blade.php
@foreach ($player_stats->stats as $player_stat)
<tr class="gradeX">
<td><a href="">{{ $player_stat->username }}</a></td>
<td>{{ $player_stat->country }}</td>
<td>{{ $player_stat->rank }}</td>
<td class="center"><a href="#" class="name" data-name="winpot" data-pk="{{ $player_stat->ID }}" data-type="text" data-url="{{ route('updatePlayer') }}">{{ number_format($player_stat->winpot, 2, ',', '.') }}</a></td>
<td class="center"><a href="#" class="name" data-name="freeGames" data-pk="{{ $player_stat->ID }}" data-type="text" data-url="{{ route('updatePlayer') }}">{{ $player_stat->freeGames }}</a></td>
<td class="center"><a href="#" class="name" data-name="transferLimit" data-pk="{{ $player_stat->ID }}" data-type="text" data-url="{{ route('updatePlayer') }}">{{ number_format($player_stat->transferLimit, 2, ',', '.') }}</a></td>
</tr>
@endforeach
这是在 Controller 中
use App\players;
use Illuminate\Http\Request;
class playerController extends Controller
{
public function index()
{
$player_stats = players::where('bot', '=', '0')->orderBy('ID', 'DESC')->limit('500')->get();
return view('pages.players', [ 'player_stats'=>$player_stats]);
}
}
这是在玩家模型中
namespace App;
use Illuminate\Database\Eloquent\Model;
class players extends Model
{
protected $player = 'players';
public function stats()
{
return $this->belongsTo(stats::class);
}
}
这是统计模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class stats extends Model
{
protected $player = 'stats';
public function players()
{
return $this->hasMany(players::class);
}
}
最佳答案
首先,我认为您应该将模型的第一个命名更改为大写名称。我的意思是,将玩家类别更改为玩家类别,将统计类别更改为统计类别。
其次,尝试在 Laravel 中添加关系时使用命名空间。尝试改变。
public function stats()
{
return $this->belongsTo(stats::class);
}
至
public function stats()
{
return $this->belongsTo('App\Stats');
}
同时更改
public function players()
{
return $this->hasMany(players::class);
}
到
public function players()
{
return $this->hasMany('App\Players');
}
关于php - 此集合实例上不存在属性 [stats],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52287116/