![](/img/trans.png)
[英]Laravel QueryException in Connection.php line 651: SQLSTATE[42S02]: Base table or view not found
[英]Laravel: PDOException in Connection.php line 319: SQLSTATE[42S02]
在數據庫更新期間,我嘗試驗證輸入,但是每次(單擊“提交”按鈕)時,都會收到此錯誤消息:
Connection.php 319行中的PDOException:SQLSTATE [42S02]:未找到基表或視圖:1146表'app_db.user_id'不存在
未經驗證,我的更新將在user_details表上運行。
UserDetailsController.php
<?php
namespace App\Http\Controllers;
use Session;
use App\UserDetails;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;
class UserDetailsController extends Controller
{
public function index()
{
$details = UserDetails::all()->where('user_id', \Auth::user()->id);
return \View::make('pages.personal_datas')
->with('details', $details);
}
public function update()
{
$details = UserDetails::where('user_id', \Auth::user()->id)->first();
$validator = UserDetails::validate(Input::all());
if($validator->fails())
{
$messages = $validator->messages();
return redirect()->action('UserDetailsController@index')
->withErrors($validator);
}
else
{
$details->email = Input::get('email');
$details->phone = Input::get('phone');
$details->country = Input::get('country');
$details->city = Input::get('city');
$details->address = Input::get('address');
$details->save();
Session::flash('message', 'Successfully updated!');
return redirect()->action('UserDetailsController@index');
}
}
}
UserDetails.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Validator;
class UserDetails extends Model
{
public $timestamps = false;
protected $guarded = [];
protected $primaryKey = 'user_id';
protected $table = 'user_details';
public static $rules = array(
'email' => 'email|unique:user_id|required',
'phone' => 'min:11|required',
'country' => 'min:4|required',
'city' => 'min:2|required',
'address' => 'min:4|required',
);
public static function validate($data)
{
return Validator::make($data, static::$rules);
}
}
您的問題在於您對用戶電子郵件的驗證
unique:user_id
unique:user_details, user_id
> unique:user_details, user_id
應該是正確的規則格式
完整規則如下: 'email' => 'email|unique:user_details,user_id|required'
您的原始驗證規則正在嘗試查詢不存在的user_id
表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.