Php 如何一次在表中插入多行?

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();

我需要在一个查询中将例如5条记录发送到一个表中(id_book-每次都不同),因此我需要通过单击按钮创建例如10条记录。此代码显示此错误消息: SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“id_book.0”。(SQL:从
connect_user_book
where
id_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,请把错误编成代码,以便我们能在问题中快速发现错误。