Каждая строка в «log» содержит ключ (dec_key), который используется пользователями при авторизации в системе.
Таблица «Ключи» содержит ключи (dec_key) и идентификатор пользователя (user)
Таблица «Пользователи» содержит идентификаторы пользователей (id) и их логины (логин)
Я пытаюсь 'создать форму со столбцами:
: log.id: keys.dec_key: keys.comment: users.login:
но что-то не так в моем коде или структуре базы данных.
Это моя структура базы данных
CREATE TABLE "log" (
"id" integer not null primary key autoincrement,
"dec_key" integer not null)
CREATE TABLE "keys" (
"id" integer not null primary key autoincrement,
"dec_key" integer not null,
"comment" varchar not null,
"user" integer not null, foreign key("dec_key") references "log"("dec_key") on delete cascade)
CREATE TABLE "users" (
"id" integer not null primary key autoincrement,
"login" varchar not null,
foreign key("id") references "keys"("user") on delete cascade)
И мой код
// LogsController.php
class LogsController extends Controller
{
public function index (Request $request) {
$req = Log::with('comment:dec_key,comment','keyusers:*');
}
}
// log.php
class Log extends Model
{
protected $table = 'log';
public function comment () {
return $this->hasOne('App\Key', 'dec_key', 'dec_key');
}
public function keyusers()
{
return $this->hasManyThrough('App\Users', 'App\Key', 'user', 'id');
}
}
// Key.php
class Key extends Model
{
protected $table = 'keys';
public function userskeys()
{
return $this->belongsTo('App\Log','id','user');
}
public function users()
{
return $this->hasMany('App\Users','id','user');
}
}
// Users.php
class Users extends Model
{
protected $table = 'users';
public function keys () {
return $this->belongsTo('App\Key', 'user', 'id');
}
public function users()
{
return $this->belongsTo('App\Log','user','id');
}
}
метод keyusers возвращает пустой массив.
Пожалуйста, помогите