Как я могу добавить значение в переменную, связанную с ORM
Его содержат новости и комментарии Модель
class News extends Model {
protected $connection = 'mysql';
protected $primaryKey = 'id';
protected $table = 'news';
protected $fillable = array(
'id',
'name',
'category',
'type',
'datetime',
'shortdesc',
'desciption'
);
public $timestamps = false;
public function comments()
{
return $this->hasMany('App\Comments');
}
Таблица комментариев
class Comments extends Model {
protected $connection = 'mysql';
protected $primaryKey = 'id';
protected $table = 'comments';
protected $fillable = array(
'id',
'news_id',
'name',
'description'
);
public $timestamps = false;public function news()
{
return $this->belongsTo('App\News','news_id');
}};
И когда я пытаюсь добавить это значение, его создать только Новости Таблица
без связи Комментарии таблица. (Не исключение, просто создать таблицу новостей)
public function AddData()
{
$row=new News;
$row->name="Myname";
$row->category="vcc";
$row->type="2";
$row->comments()->news_id="1";
$row->comments()->name="someval";
$row->save();
return view::make('first_view');
}
При вставке связанной модели комментариев возникает проблема. Есть много способов решить вашу проблему.
Решение, которое я предпочитаю использовать:
public function AddData()
{
// Create news model
$news = News::create([
'name' => 'Some name',
'category' => 'somecategory',
....
]);
// Create comment through news model
// news_id will automatically be inserted
$comment = $news->comments()->create([
'name' => 'some name'
]);
}
Других решений пока нет …