Для школьного задания у нас есть две таблицы и модели игроков и стран, которые я знаю, это либо мои модели, либо мой контроллер (у меня раньше была эта проблема, но в другом задании у них была только одна страна, поэтому я просто перебрал переменную страныи использовал вместо этого массивы, но это не будет работать для нескольких стран)
Когда я пытаюсь отобразить в представлении, я получаю «Попытка получить свойство не-объекта« имя »в {{$ player-> country-> name}} и именно так учитель прямо сказал, что мы должны его отобразить.
В настоящее время перед чем-либо еще хотелось бы отобразить имена всех моих игроков и названия их стран
Models
class Country extends Model
{
//
protected $table = 'countries';
protected $fillable=['name','flag'];
public function player(){
return $this->hasMany(Player::class);
}
}
class Player extends Model
{
//
protected $fillable =['name','age','role','batting','bowling','image','odiRuns','countries_id'];
public function country()
{
return $this->belongsTo(Country::class);
}
}
Таблицы
public function up()
{
Schema::create('countries', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('flag');
$table->timestamps();
});
}
public function up()
{
Schema::create('players', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->string('role');
$table->string('batting');
$table->string('bowling');
$table->string('image');
$table->string('odiRuns');
$table->integer('countries_id')->unsigned();
$table->foreign('countries_id')->references('id')->on('countries');
$table->timestamps();
});
}
Контроллер
use App\Player;
use App\Country;
use Illuminate\Http\Request;
class PlayerController extends Controller
{
public function index()
{
//
$players=Player::all();
return view('index',compact('players'));
}
Просмотр
@extends('layout')
@section('content')
@foreach ($players as $player )
{{$player->name}}
{{$player->age}}
{{$player->role}}
{{$player->batting}}
{{$player->bowling}}
{{$player->odiRuns}}
{{$player->country->name}}
@endforeach
@endsection
Редактировать все игроки имеют идентификаторы страныотносящиеся к столам стран столы стол для игроков
cстол страны