正如官方文件所说:
有时,您可能不仅希望保存模型,还希望保存其所有关系。为此,您可以使用push方法:保存模型和关系$user-
术语表:
Term_taxonomy表:
我的学期模型:
public function TermTaxonomy(){
return $this->hasOne('TermTaxonomy');
}
我的术语分类模型:
public function Term(){
return $this->belongsTo('Term');
}
我的分类控制器
public function store(){
$data = Input::all();
$category = new Term;
$category->name = $data['name'];
$category->slug = $data['slug'];
$category->TermTaxonomy()->taxonomy = 'category';
$category->TermTaxonomy()->description = $data['TermTaxonomy']['description'];
$category->push();
}
用我上面的代码,我可以保存名称和段塞,但分类和描述没有插入。有可能吗?
谢谢,我是新来的。
据我所知,push()
的目的是更新相关模型,而不是插入它们。因为该方法只是在所有加载的相关模型上循环并保存它们:
public function push()
{
if ( ! $this->save()) return false;
foreach ($this->relations as $models)
{
foreach (Collection::make($models) as $model)
{
if ( ! $model->push()) return false;
}
}
return true;
}
$category = Term::find(1);
$category->name = 'foo';
$category->TermTaxonomy->description = 'bar';
$category->push(); // save would only update the name but not the description
我建议您使用Laravel插入相关模型的方法:
$category = new Term;
$category->name = $data['name'];
$category->slug = $data['slug'];
$taxonomy = new TermTaxonomy();
$taxonomy->taxonomy = 'category';
$taxonomy->description = $data['TermTaxonomy']['description'];
$category->TermTaxonomy()->save($taxonomy);
$category->save();
或者,如果您的术语分类法
模型配置为批量分配,您可以使用create()
$category = new Term;
$category->name = $data['name'];
$category->slug = $data['slug'];
$category->TermTaxonomy()->create([
'taxonomy' => 'category',
'description' => $data['TermTaxonomy']['description']
]);
$category->save();
如果您确实想使用push()
。这也会起作用:
$category = new Term;
$category->name = $data['name'];
$category->slug = $data['slug'];
$taxonomy = new TermTaxonomy();
$taxonomy->taxonomy = 'category';
$taxonomy->description = $data['TermTaxonomy']['description'];
$category->setRelation('TermTaxonomy', $taxonomy);
$category->push();
我想知道为什么我的铁轨没有拯救我的encrypted_password场。 这是我的UserController 这是我的用户模型 此外,我使用此函数保存它 有一件事我怀疑是我创造了我的第一次迁徙 然而,我将:password字段更改为:encrypted_password,它反映在表中。我已经坚持了两个小时了。我想知道是否有什么突出的地方。谢谢 日志显示,注入的数据减去加密密码 插入“用户”(“
Querying related models(查询相关模型) 简介 包含内容 范围 included relations 使用过滤参数 简介
我正在使用。每当单元格选择值更改时,我都想收到通知。但是我的代码不起作用。我正在使用。当我更改表单元格的值时,什么也不会发生。 当我更改表格单元格的值时,什么都没有发生。
对编码来说是新的,如果已经涵盖了,请道歉。花了几个晚上在Django的文档、YouTube、谷歌和这里尝试各种方法来解决这个问题。 我有一个与驾驶员相关的模型路线,我试图在我的模板上显示所有与该路线相关的驾驶员的路线。然而,目前我所能得到的只是来自路线模型的数据,而不是相关驾驶员的数据。 会感谢任何帮助,因为我正在努力让我的头! Models.py Views.py 样板 我尝试过.prefetc
我不知道在modelAndView中发布后如何重定向 我该怎么做?
我有一个数据库结构,其中我有一个用户和公司之间的多对多关系表。为此,我有一个交叉引用表company_user。此外,每个用户在公司中都有一定的角色,因此交叉引用表也有role_id。问题是,由于某种原因,当我试图从交叉引用表中检索角色时,我会出现异常。 以下是我如何定义公司模型中的关系: 现在,如果我只是尝试从pivot获取角色id,一切都会正常工作: 但是我还需要角色的数据,所以我在自定义透视