【问题标题】:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.store' doesn't existSQLSTATE [42S02]:未找到基表或视图:1146 表 'db.store' 不存在
【发布时间】:2016-03-03 08:34:59
【问题描述】:

当我尝试将数据从 laravel 表单保存到数据库表时,出现以下异常:

SQLSTATE[42S02]:未找到基表或视图:1146 表 'db.store' 不存在(SQL:从 store 中选择 count(*) 作为聚合,其中 name = 样本名)

表存储存在,但我仍然收到错误

这是我正在处理表单的控制器:

 <?php

    namespace App\Http\Controllers;

    use Illuminate\Http\Request;

    use App\Http\Requests;
    use App\Http\Controllers\Controller;
    use App\storestore;
    use App\Http\Requests\storeFormRequest;



    class AddstoreController extends Controller
    {
        //

        public function create()
        {
            //

        }

        public function store( storeFormRequest $request)
        {

            $store = new Store;
            $store->name = Input::get('name');
            $store->description = Input::get('description');
            $store->store_vendor_id = Input::get('owner');
            $store->contact_email = Input::get('contact_email');
            $store->postal_address = Input::get('postal_address');
            $store->city = Input::get('city');
            $store->zip = Input::get('zip');
            $store->phone = Input::get('phone');
            $store->business_logo = Input::get('logo');
            $store->save();
            return \Redirect::route('add_store_success')
          ->with('message', 'Thanks for joining us!');
        }
    }

这是我的商店模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Store extends Model
{
    //

    protected $table = 'stores';

     protected $fillable = ['name', 'description', 'vendor_id',
     'contact_email','postal_address','city','zip','phone',
     'meta_description','business_logo'];

 }

StoreRequest 文件:

<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;

use App\StoreController;


class StoreFormRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
    'name' => 'required|unique:dstore',
    'vendor_id' => 'required',
    'contact_email' => 'required|email|max:100|unique:dstore',

    'business_logo' => 'required',

        ];

         //validate
        if ($validation->fails())
        {
            return redirect()->back()->withErrors($v->errors());
        }

    }


}

这些是 getpost 路线:

Route::get('/store_form', ['as' => 'add_store_form', 'uses' => 'StoreController@create']);
Route::post('/store_form',['as' => 'dstore', 'uses' => 'StoreController@store']);

当我运行 php artisan route:list 命令时会列出两条路线

我试图寻找解决方案,但我登陆的那个指出缺少表作为一门课程,但在我的情况下,商店表是存在的,但我仍然收到错误。

请帮忙!

【问题讨论】:

    标签: laravel laravel-5.1 laravel-validation laravel-migrations laravel-request


    【解决方案1】:

    看看你的Store模型类:

    <?php
    
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Store extends Model
    {
        //
    
        protected $table = 'stores';
    
         protected $fillable = ['name', 'description', 'vendor_id',
         'contact_email','postal_address','city','zip','phone',
         'meta_description','business_logo'];
    
    }
    

    如您所见,属性$table 设置为stores,所以我假设您数据库中的表名是stores 而不是store

    您可能应该更改您的StoreFormRequest 内容或rules 方法以在unique 规则中使用有效的表名,例如:

    public function rules()
    {
        return [
            //
    'name' => 'required|unique:stores',
    'vendor_id' => 'required',
    'contact_email' => 'required|email|max:100|unique:stores',
    
    'business_logo' => 'required',
    
        ];
    
         //validate
        if ($validation->fails())
        {
            return redirect()->back()->withErrors($v->errors());
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2018-04-19
      • 2015-10-05
      • 2018-06-30
      • 2021-05-13
      • 2021-10-17
      • 2020-04-28
      相关资源
      最近更新 更多