我有一个简单的表单来添加页面信息,表单看起来像这样
如您在前提条件输入上方看到的那样,要添加前提条件,我们需要单击加号按钮,然后在弹出窗口中显示弹出窗口,我有一个包含以下输入的表单
1.bidder_name
2.params_name
3.params_value
因此,现在当用户从弹出菜单中保存前提条件输入时,数据将保存到名为parameters
的表中,然后用户单击add page
按钮并将数据保存到名为{{ 1}},
我想用添加的参数(禁止输入)链接添加的页面。
这是我到目前为止尝试过的
页面模型
pages
参数模型
class Page extends Model
{
protected $fillable =[
"title","articles","status"
];
public function parameter(){
return $this->belongsToMany('App\Parameter');
}
}
这是数据透视表
public function pages(){
return $this->belongsToMany('App\Pages');
}
在phpmyadmin中看起来是这样
这里是存储功能,用于将前提条件输入(参数)保存在参数控制器中
public function up()
{
Schema::create('page_parameter',function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('page_id')->unsigned();
$table->foreign('page_id')->references('id')->on('pages');
$table->bigInteger('parameter_id')->unsigned();
$table->foreign('parameter_id')->references('id')->on('parameters');
});
}
现在,当用户将数据保存到数据库时,我可以看到保存到页面表和参数表的数据,但数据透视表为空。
我对laravel很陌生,
现在,当我将数据保存到数据库时,public function store(Request $request){
// dd($request);
if($request->ajax())
{
$rules = array(
'params_name.*' => 'required','params_value.*' => 'required','bidders_name.*' => 'required'
);
$error = Validator::make($request->all(),$rules);
if($error->fails())
{
return response()->json([
'error' => $error->errors()->all()
]);
}
$params_name = $request->params_name;
$params_value =$request->params_value;
$bidders_name =$request->bidders_name;
for($count = 0; $count < count($params_name); $count++)
{
$data = array(
'params_name' => $params_name[$count],'params_value' => $params_value[$count],'bidders_name' => $bidders_name[$count],);
$insert_data[] = $data;
// dd($insert_data);
}
Parameter::insert($insert_data);
return response()->json([
'success' => 'Data Added successfully.'
]);
}
}
(数据透视表)为空;
我的代码在做什么错?