Attach方法抛出preg_replace():参数不匹配

时间:2015-05-26 17:09:55

标签: php laravel

在尝试将数据添加到Laravel中的数据透视表时,我一直在处理此public static byte[] readSingleBlockCmd(int blockNo) { byte[] cmd = new byte[3]; cmd[0] = (byte) 0x02;//flag cmd[1] = (byte) 0x23;//cmd cmd[2]= (byte)blockNo; return cmd; }

当我使用虚拟阵列数据时,即 ErrorException它有效,但是当我使用数组变量的值时,即。 $service->features()->attach([1,2]); wheareas $service->features()->attach($featuresIds);的值为$featuresIds

  

ErrorException(E_WARNING)   preg_replace():参数不匹配,pattern是一个字符串,而replacement是一个数组。

我的服务模型类有:

[1,2]

我的功能模型类具有:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Service extends Model {

    protected $table = 'services';
    public $timestamps = false;
    protected $fillable = array('title', 'category', 'description', 'image', 'delivery_time', 'features', 'price', 'supplier', 'user_id');
    protected $visible = array('id','title', 'category', 'description', 'image', 'delivery_time', 'features', 'price', 'supplier');
    protected $dates = ['delivery_time'];

    // public function features()
    // {
    //  return $this->hasMany('Feature', 'id');
    // }

    public function supplier()
    {
        return $this->hasOne('Supplier', 'id');
    }

    public function category()
    {
        return $this->belongsTo('Category', 'id');
    }


    public function user()
    {

        return $this->belongsTo('App\User');
    }


    public function features()
    {

        return $this->belongsToMany('App\Feature')->withTimestamps();
    }
}

我的控制器<?php namespace App; use Illuminate\Database\Eloquent\Model; class Feature extends Model { protected $table = 'features'; // public $timestamps = true; protected $fillable = array('description'); protected $visible = array('id','description'); public function services() { return $this->belongsTomany('App\Service'); } } 方法有:

store

我在线搜索了很多解决方案,但找不到解决方法。帮助,如果你能发现我做错了什么。

0 个答案:

没有答案