在尝试将数据添加到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
我在线搜索了很多解决方案,但找不到解决方法。帮助,如果你能发现我做错了什么。