Я пытаюсь узнать больше о Laravel ORM и ORM в целом, но у меня есть проблемы, которые я не могу решить самостоятельно.
Это моя таблица пользователей:
А вот моя таблица статей:
Модель моего пользователя eloquent:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'users';
public function article()
{
return $this->hasMany('\App\Models\Article', 'autor_id');
}
}
И моя модель статьи eloquent:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'clanky';
public function autor() {
return $this->belongsTo('\App\Models\User', 'id');
}
}
Я пытаюсь получить доступкаждая статья с данными об авторе использует этот код:
$articles = Models\Article::all();
foreach($articles as $art)
{
echo $art->autor->name . "<br>";
}
Проблема в том, что модель возвращает только данные пользователя из первой статьи, а не из второй, и так далее.Есть мысли о том, что может вызвать это?Заранее спасибо.