我正在尝试通过使用以下代码来添加以dB为单位的类别,但它显示类似“ SQLSTATE [42S02]的错误:找不到基表或视图:1146表'mydb.categories'不存在(SQL:插入categories
(category_name
,updated_at
,created_at
)的值(时尚,2018年3月13日9点44分38秒,2018年3月13日9点44分38秒))”
我的代码如下
管理员
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Category;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Auth;
class AdminController extends Controller
{
public function show()
{
return view('admin/admin');
// echo "here";
}
public function addCategory()
{
$category=new Category;
$category->category_name = Input::get('category');
$category->save();
dd("2");
//return view('admin');
}
}
Admin.blade.php
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
.bod{
background-color:#f8f8f8;
border-shadow: 5px 10px 20px white inset;
border-width:5px;
margin-top:-12px;
}
.h1{
font-family:"Book Antiqua";
font-size: 90px;
color: red;
text-align: center;
}
div {
border-radius: 5px;
/*background-color: #f2f2f2;*/
/*background-color: #7CA8C1 ;*/
padding: 20px;
position: relative;
/*border:2px solid white;*/
height: 200px;
width: 50%;
}
</style>
</head>
<body class="bod">
<h1 class="h1">Admin</h1>
<div align="left">
<form action="{{ route('addCategory') }}" method="get">
{{ csrf_field() }}
<label for="category" style="font-family: 'Book Antiqua';font-size: 48px">Category</label> <br/>
<input type="text" name="category" id="category" placeholder="Enter the Category" style="width: 25%;height:35px; border:2px solid floralwhite">
<input type="submit" name="add" id="add" value="ADD">
</form>
</div>
</body>
</html>
路由
Route::get('/addCategory','Admin\AdminController@addCategory')->name('addCategory');
类别模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
//
protected $fillable = [
'category_name',
];
}
db结构
-- phpMyAdmin SQL Dump
-- version 4.7.4
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: Mar 13, 2018 at 10:12 AM
-- Server version: 5.7.19
-- PHP Version: 5.6.31
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `mydb`
--
-- --------------------------------------------------------
--
-- Table structure for table `category`
--
DROP TABLE IF EXISTS `category`;
CREATE TABLE IF NOT EXISTS `category` (
`category_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`category_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`category_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
将此添加到您的模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
//
protected $table = "category";
protected $fillable = [
'category_name',
];
}
您的表名称为category,而laravel认为其类别应使用db迁移来创建数据库表,这将帮助您避免此错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句