【问题标题】:How to save a many to many record in Laravel 3?如何在 Laravel 3 中保存多对多记录?
【发布时间】:2013-08-17 17:07:27
【问题描述】:

当我创建一个 sn-p 模型时,我想直接将关系记录添加到中间表中,但出现此错误:

未处理的异常

消息:方法 [save] 未在 Query 类上定义。

当我执行这段代码时:

$new_snippet = new Snippet(array('snippet' => Input::get('snippet'), 
                                   'title' => Input::get('title')) );

foreach (Input::get('categorie_ids') as $categorie_id) 
{
    $categorie = Categorie::find($categorie_id)->snippet()->save($new_snippet);
}

我对在 Laravel 中使用关系模型比较陌生,因此欢迎所有有关如何执行此操作的建议。

【问题讨论】:

  • 你是怎么定义CategorySnippet的关系的,能发一下吗?
  • 感谢您的回复。我定义为 public function sn-p() { return $this->has_many_and_belongs_to('Snippet'); } 反之亦然。但我使用附加解决了这个问题

标签: laravel eloquent laravel-3


【解决方案1】:

在再次检查文档并尝试了一些东西后,我想出了这个解决方案:

$new_snippet = Snippet::create(array('snippet' => Input::get('snippet'), 'title' => Input::get('title')) );
            foreach (Input::get('categorie_ids') as $categorie_id) {
                $categorie = Categorie::find($categorie_id)->snippet()->attach($categorie_id, array('snippet_id' => $new_snippet->id));
            }

基本上我只是使用attach 而不是save

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 2015-12-11
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多