在非对象雄辩附件上调用成员函数

时间:2015-03-27 13:06:35

标签: laravel laravel-5

我遇到了laravel没有看到我的tags()方法在新条目上附加新标签的问题。当我尝试运行该方法并将标签附加到我的Tile模型时,我不断调用非对象上的成员函数。所有方法都回归了他们的关系。我按照文档中说的那样顺序执行了相同的命令。

控制器

      $tile = \Tiles\Tile::find($tile_id);
      $tile->tags()->attach($tag_array);        

模型

<?php namespace Tiles;

use Illuminate\Database\Eloquent\Model;

class Tile extends Model {

    /**
     * The Tile table
     * @var string
     */
    protected $table = 'tiles';

    /**
     * Pivot table for tags
     * @var string
     */
    protected $pivot = 'tag_tile';


    /**
     *  Get the tags associated with the given tile
     * 
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
   public function tags() {

        return $this->belongsToMany('Tiles\Tag', $this->pivot, 'tile_id', 'tag_id')->withTimestamps();

    }

}

2 个答案:

答案 0 :(得分:0)

试试吧

<强>模型

public function tags() {

        return $this->belongsToMany('Tiles\Tag', $this->pivot, 'tag_id', 'tile_id')->withTimestamps();

    }

答案 1 :(得分:0)

感谢您的帮助。我找到了解决方案。我在我的模型中创建了一个方法,并将每个方法推送到一个数组并将其提供给attach方法。它现在有效。