簡體   English   中英

如何發布數據,並使用 Laravel 將其插入到數據庫中?

[英]How to post data, and insert it to the database with Laravel?

我有一個控制器文件,它處理檢索和插入數據到數據庫:

namespace App\Http\Controllers;

use App\Dream;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;

class DreamsController extends Controller
{
    public function submit(Request $request) {
        $dreamEntry = new Dream();
        $dreamEntry->dream = $request->input('dream');
        $dreamEntry->save();
        return redirect('/')->with('status', 'INSERTED');
    }
}

我有這門課,為了夢想:

class Dream extends Model
{
    use Notifiable;

    protected $fillable = [
        'dream'
    ];
}

我的 web.php 文件中的一個路由:

Route::post('upload/submit', array('dream'=>'DreamController@submit'));

還有一個非常簡單的形式:

<form action="/upload/submit" method="post">
    <textarea></textarea>
    <button type="submit">SUBMIT</button>
</form>

從數據庫中獲取數據工作正常,我可以看到我的submit函數正在運行,因為在 和我看到根 (/) 處的 URL,但我收到error 419前面的代碼有什么問題?

您的<form>需要一個csrf字段,而您的<textarea>沒有name=屬性:

<form action="/upload/submit" method="post">
  {{ csrf_field() }}
  <textarea name="dream"></textarea>
  <button type="submit">SUBMIT</button>
</form>

另外,我不確定array('dream'=>'DreamController@submit')有效,可能只是:

Route::post('upload/submit', 'DreamController@submit'); 
// 2nd parameter is the Controller/Function you want to use.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM