У меня есть простая форма для добавления информации о страницах, форма выглядит следующим образом:
, как вы можете видеть над вводом предварительной ставки, чтобы добавитьPrebids нам нужно нажать кнопку плюс и всплывающее окно появляется внутри всплывающего окна, у меня есть форма, которая содержит следующие входные данные
1.bidder_name
2.params_name
3.params_value
Так что теперь, когда пользователь сохраняет входные данные prebids из всплывающего окна, данные сохраняютсяк таблице с именем parameters
, а затем пользователь нажимает кнопку add page
, и данные сохраняются в таблице с именем 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');
}
Вот сводная таблица
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');
});
}
Вот как это выглядит в phpmyadmin
Здесь хранится функция сохранения предварительных входных данных (параметров) внутри контроллера параметров
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.'
]);
}
}
Теперь, когда пользователь сохраняет данные в базе данных, я вижу данные, сохраненные в pтаблица возрастов и таблица параметров, но сводная таблица пуста.
Я новичок в laravel,
Теперь, когда я сохраняю данные в базе данных, page_parameter table
(сводная таблица)пусто;
Что я делаю не так с моими кодами?