我是laravel的新手,我想在Laravel中插入数据,因为我已经编写了以下代码,但是数据未插入数据库中,并且没有错误。我的代码如下,我已经为此创建了模型,视图和控制器。
控制器:Category.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Model\Category;
class Categories extends Controller
{
public function create()
{
return view('pages.addCategories');
}
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
]);
Category::create($request->all());
return redirect('admin/categories');
}
}
categories_table:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateCategoriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->unsignedInteger('parent_id')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('categories');
}
}
查看:
<form action="/admin/add-categories" method="post" role="form">
{{ csrf_field() }}
<div class="card-body">
<div class="form-group">
<label for="exampleInputEmail1">Category Name</label>
<input type="text" class="form-control" name="name" placeholder="Enter Category">
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
型号类别:
<?php
namespace App;
namespace App\Model;
use DB;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $fillable = [
'name'
];
public function subcategory(){
return $this->hasMany('App\Category', 'parent_id');
}
}
web.php
Route::get('admin/categories', 'Categories@create');
Route::post('admin/add-categories', 'Categories@store');
答案 0 :(得分:0)
在Category
模型中,您只能有一个名称空间。
因此,如果文件位于app\Model\
之内,则只能使用此文件:
namespace App\Model;
并删除
namespace App;
然后在控制器中可以执行以下操作:
$validatedData = $request->validate([
'name' => 'required',
]);
Category::create($validatedData);