Я пытаюсь получить указанный c таймер с отношением к timer_themes, что-то вроде:
Timer::with('timer_theme')->find(1);
, но он возвращает:
>>> Timer::with('timer_theme')->find(1);
=> App\Timer {#3245
id: 1,
user_id: 1,
slug: "test",
end_time: "2020-03-25 21:59:14",
is_locked: 1,
created_at: "2020-03-24 18:26:33",
updated_at: "2020-03-25 19:59:14",
theme_id: 1,
timer_theme: null,
}
Мои модели настроить как это:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Timer extends Model
{
protected $table = 'timers';
protected $fillable = [
'user_id',
'slug',
'end_time',
'is_locked',
'timer_theme_id'
];
public function timer_theme() {
return $this->belongsTo('App\TimerTheme');
}
public function user() {
return $this->belongsTo('App\Models\User');
}
}
и
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class TimerTheme extends Model
{
protected $table = 'timer_themes';
protected $fillable = [
'id',
'name',
'css_path',
'view_path'
];
public function timerThemeOptions() {
return $this->hasMany('App\TimerOptions');
}
public function timer() {
return $this->hasMany('App\Timer');
}
}
Это мои таблицы базы данных:
timers
-------
id
user_id
slug
end_time
is_locked
theme_id
и
timer_themes
-------------
id
name
view_path
css_path
I ' мы перепутали отношения в моделях, но так и не нашли решение, которое будет работать.