我正在尝试将来自另一个表的外键保存到我的控制器方法中,但是我无法在此问题中保存此内容:
我想在这里做的是有来自business_master表的FK的business_id:
我的控制器方法:
$businessId = Input::get('business_id');
$page = new Page();
$page->page_name = Input::get('page_name');
$page->page_url = Input::get('page_url');
$page->business()->attach($businessId);
$page->business_id = $businessId;
$page->save();
$resultArray = ['status' => 1, 'message' => 'Page url added!', 'dataArray' => $page];
}
和我的页面模型:
class Page extends Model
{
protected $table = 'page_master';
protected $fillable = ['business_id','page_url','page_name'];
public function business()
{
return $this->hasMany('App\Business','business_id','id');
}
错误我到这里是
BadMethodCallException: Call to undefined method Illuminate\Database\Query\Builder::attach()
我非常想存储business_id(fk),但我无法做到这一点,您的任何帮助都将受到高度赞赏!
答案 0 :(得分:0)
您有一个错误,因为只有实例可以附加到多个关系中
$page->business()->attach($businessId);
尝试商务create()
$page->business()->create([]);
答案 1 :(得分:0)
删除行
function1()
{
for-loop1{ function2(); } //line 2
}
function2()
{
for-loop2();
}
仅限使用
$page->business()->attach($businessId);
该代码适合您。
你使用$ fillable是好的,因为它有助于在Eloquent ORM中避免大量分配这些字段,我们在fillable下定义模型中的字段列表,这样当我们发送值的数组时model它将直接处理操作取决于创建,更新,删除等操作。