Php 如何一次在表中插入多行?
我需要在一个查询中将例如5条记录发送到一个表中(id_book-每次都不同),因此我需要通过单击按钮创建例如10条记录。此代码显示此错误消息: SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“id_book.0”。(SQL:从Php 如何一次在表中插入多行?,php,ajax,laravel,Php,Ajax,Laravel,我需要在一个查询中将例如5条记录发送到一个表中(id_book-每次都不同),因此我需要通过单击按钮创建例如10条记录。此代码显示此错误消息: SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“id_book.0”。(SQL:从connect_user_bookwhereid_book0=6*(我的文本:6是我需要添加ASE记录的列表的id)) 我的控制器: public function create() { $books = Book::all();
connect_user_book
whereid_book
0
=6*(我的文本:6是我需要添加ASE记录的列表的id))
我的控制器:
public function create()
{
$books = Book::all();
return view('connectUserBook.create', compact('books'));
}
public function store(Request $request)
{
$this->validate($request, [
'id_user_select' => 'required',
'id_book' => 'required|array',
'id_book.*' => 'exists:connect_user_books',
]);
$userId = $request->input('id_user_select');
// Vytvoření
foreach ($request->input('id_book') as $book) {
$connect = new ConnectUserBook;
$connect->id_user_select = $userId;
$connect->id_book = $book;
$connect->save();
}
return redirect('/dashboard')->with('success', 'Výběr editován!');
}
{{ Form::open(['action' => 'ConnectUserBookController@store', 'method' => 'POST']) }}
<div>
<label class="form-label">Vybraný výběr *</label>
<div>
<select name="id_user_select" class="form-control">
<?php
$select_id = $_GET["id"];
$select_id;
$res = mysqli_query($link, "select * from selected_books Where id = $select_id");
while($row = mysqli_fetch_array($res))
{
?>
<option value="<?php echo $row["id"]; ?>"> <?php echo $row["title"]; ?></option>
<?php
}
?>
</select>
</div>
</div>
<br>
@for ($i = 0; $i < 11; $i++)
<div>
<label class="form-label">Book {{ $i }} *</label>
<div>
<select name="id_book[]" class="form-control">
@foreach ($books as $book)
<option value="{{ $book->id_book }}">{{ $book->nazev }} - {{ $book->pocet_stranek }} stran</option>
@endforeach
</select>
</div>
</div>
@endfor
{{Form::submit('Submit', ['class' => 'btn btn-primary'])}}
{{ Form::close() }}
我的HTML标记:
public function create()
{
$books = Book::all();
return view('connectUserBook.create', compact('books'));
}
public function store(Request $request)
{
$this->validate($request, [
'id_user_select' => 'required',
'id_book' => 'required|array',
'id_book.*' => 'exists:connect_user_books',
]);
$userId = $request->input('id_user_select');
// Vytvoření
foreach ($request->input('id_book') as $book) {
$connect = new ConnectUserBook;
$connect->id_user_select = $userId;
$connect->id_book = $book;
$connect->save();
}
return redirect('/dashboard')->with('success', 'Výběr editován!');
}
{{ Form::open(['action' => 'ConnectUserBookController@store', 'method' => 'POST']) }}
<div>
<label class="form-label">Vybraný výběr *</label>
<div>
<select name="id_user_select" class="form-control">
<?php
$select_id = $_GET["id"];
$select_id;
$res = mysqli_query($link, "select * from selected_books Where id = $select_id");
while($row = mysqli_fetch_array($res))
{
?>
<option value="<?php echo $row["id"]; ?>"> <?php echo $row["title"]; ?></option>
<?php
}
?>
</select>
</div>
</div>
<br>
@for ($i = 0; $i < 11; $i++)
<div>
<label class="form-label">Book {{ $i }} *</label>
<div>
<select name="id_book[]" class="form-control">
@foreach ($books as $book)
<option value="{{ $book->id_book }}">{{ $book->nazev }} - {{ $book->pocet_stranek }} stran</option>
@endforeach
</select>
</div>
</div>
@endfor
{{Form::submit('Submit', ['class' => 'btn btn-primary'])}}
{{ Form::close() }}
{{Form::open(['action'=>'ConnectUserBookController@store“,“方法”=>“发布”])}
Vybranývýběr*
制作一个数组并使用insert方法
$data = array()
foreach ($request->input('id_book') as $book) {
$data[] = array('id_user_select'=>$userId,'id_book'=>$book);
}
ConnectUserBook::insert($data);
根据您的错误,您需要在列中指定。添加一列以与存在的列进行比较
'id_book.*' => 'exists:connect_user_books,column_name',
注意:-它不插入时间戳 制作一个数组并使用insert方法
$data = array()
foreach ($request->input('id_book') as $book) {
$data[] = array('id_user_select'=>$userId,'id_book'=>$book);
}
ConnectUserBook::insert($data);
根据您的错误,您需要在列中指定。添加一列以与存在的列进行比较
'id_book.*' => 'exists:connect_user_books,column_name',
注意:-它不插入时间戳 是否传递了列名?在这里的验证中,您需要传递db列<代码>'exists:connect_user_books,column_name'
$this->validate($request,['id_user_-select'=>'必需','id_-book.=>'必需|数组','id_-book.'=>'exists:connect_user_-books,id',]);在connect_user_books表中是否有id字段?没有,只有:id_spoj(表的主键)、id_user_select(所选列表的id)和id_book(所选书籍的id)是否传递了列名?在这里的验证中,您需要传递db列<代码>'exists:connect_user_books,column_name'$this->validate($request,['id_user_-select'=>'必需','id_-book.=>'必需|数组','id_-book.'=>'exists:connect_user_-books,id',]);你在connect_user_books表中有id字段吗?没有,只有:id_spoj(表的主键)、id_user_select(所选列表的id)和id_book(所选书籍的id)您好,欢迎使用StackOverflow,请将错误转换成代码,以便我们可以快速找到问题中的错误。您好,欢迎使用StackOverflow,请把错误编成代码,以便我们能在问题中快速发现错误。