我正在使用laravel php mysql。 我有四个桌子
category => id, name
site => id, name, link
journalist => id, name
article => title, body, journalist_id, site_id, category_id
我已经在articles()
,Category
和Journalist
模型中定义了Site
关系。
public function articles(){
return $this->hasMany('App\Article');
}
当我在商品表中插入数据时,该怎么做。
$site = Site::findOrFail(1);
$article = new Article(['title'=>'title', 'body'=>'body']);
$site->articles()->save($article);
并插入仅连接到站点表的表。 我尝试遵循以下步骤,它保存了未连接到站点,新闻工作者,类别表的行。
$article = new Article([
'title' => 'title',
'body' => 'body',
'category_id' => 1,
'journalist_id' => 1,
'site_id' => 1
]);
$article->save();
我创建了一个$table->integer('category_id')->unsigned()->nullable();
的表,并且没有写下外部->引用;
答案 0 :(得分:0)
你好克里斯蒂娜,
$article = new Article();
$article->title = $your_title
$article->name = $your_article_name;
$article->site_id = $your_site_ID;
$article->category_id = $your_category_ID;
$article->journalist_id = $your_journalist_ID //or Auth::id() when authenticated user.
$article->save();
现在您可以使用文章方法,请参见完整指南[https://laravel.com/docs/5.7/eloquent-relationships#one-to-many 1
答案 1 :(得分:0)
您可以执行以下操作:
$site = Site::findOrFail(1);
$site->articles()->create(['title'=>'title', 'body'=>'body']); // use create() or insert()
答案 2 :(得分:0)
您可以在每个模型(类别,新闻工作者和网站)中定义import numpy as np
three = np.outer(first,second).flatten()
# array([ 6, 7, 8, 12, 14, 16, 18, 21, 24])
方法
articles
然后从模型中提取适当的记录,并像在网站上一样保存它们
public function articles()
{
return $this->hasMany('App\Article');
}