Laravel插入数据库

时间:2017-03-02 12:45:06

标签: php mysql laravel

我有以下问题: 我想插入我的数据库,输入字段。 这是我的HTML:

<div class="row">
    <form action="{{ action('test@store') }}" method="post">
        <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
        <div class="col-md-2 col-sm-2">
            <label for="MtrNr">MtrNr:</label>
            <input type="text" name="MtrNr" class="form-control">
        </div>
        <div class="col-md-2 col-sm-3">
            <label for="Vorname">Vorname:</label>
            <input type="text" name="Vorname" class="form-control">
        </div>

        <div class="col-md-2 col-sm-3">
            <label for="Nachname">Nachname:</label>
            <input type="text" name="Nachname" class="form-control" >
        </div>
        <div class="col-md-2 col-sm-2">
            <label for="Klassenname">Klassenname:</label>
            <input type="text" name="Klassenname" class="form-control">
        </div>
        <div class="col-md-2 col-sm-2">
            <button class="btn btn-primary option-button button_rowAllign" type="submit">Schüler hinzufügen</button>
        </div>
    </form>
</div>

我的控制器:

  public function store(Request $request)
{
    $user = new schueler;
    $user->MatNr = Input::get("MtrNr");
    $user->vorname = Input::get("Vorname");
    $user->nachname = Input::get("Nachname");
    $user->klassenname = Input::get("Klassenname");
    $user->save();
}

这是我的路线:

Route::post("{{ action('test@store') }}", "test@store");

问题是,我已经插入了我的数据库。但当我试图 重现它,它不起作用。 对于本地服务器,我使用xampp。 我希望你能帮助我。

3 个答案:

答案 0 :(得分:0)

问题是您只创建了一个新的Schueler对象并将数据提供给它。但是你没有将它保存在数据库中。您只进行了本地更改。

使用此方法保存。

public function store(Request $request) {
    $user = new schueler;
    $user->MatNr = Input::get("MtrNr");
    $user->vorname = Input::get("Vorname");
    $user->nachname = Input::get("Nachname");
    $user->klassenname = Input::get("Klassenname");
    $user->save();
}

尝试更改此路线

Route::post("/test", "test@store"); // change /test to /anything you want

在确保您拥有数据库设置之前,该数据库中的所有表都像schuelers一样 - 为此php artisan migrate

答案 1 :(得分:0)

如果您想将记录插入数据库,则错过了在控制器中添加$user->save()

public function store(Request $request)
{
    $user = new schueler;
    $user->MatNr = Input::get("MtrNr");
    $user->vorname = Input::get("Vorname");
    $user->nachname = Input::get("Nachname");
    $user->klassenname = Input::get("Klassenname");
    $user->save();

}

答案 2 :(得分:0)

我觉得你的路线有问题。

Route::post("{{ action('test@store') }}", "test@store");

路线应如下所示:

Route::post("schueler/store", "yourcontrollername@store");

//这是示例代码,请用您的更新。