[已解决]我不是Laravel的专家。刚开始进行Web开发。我被要求对从c Panel下载的现有项目进行更改。在服务器上,项目运行正常。但是下载后,我得到了以下错误,并且不太确定发生了什么。
SQLSTATE [42S02]:找不到基表或视图:1146表'xyz.testimonials'不存在(SQL:从
testimonials
中选择*)
下载项目后,我可以执行以下操作
php artisan cache:clear
作曲家更新
php artisan迁移
php artisan db:seed
以下TestimonialController.php文件
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Testimonial;
class TestimonialController extends Controller
{
public function index()
{
$testimonials = Testimonial::all();
return view('dashboard.testimonials.index')->withTestimonials($testimonials);
}
public function create()
{
return view('dashboard.testimonials.create');
}
public function store(Request $request)
{
$request->validate(['testimonial_text'=>'required']);
$testimonial = Testimonial::create($request->all());
if($testimonial)
{
$this->success('Testimonial added successfully');
}
else
{
$this->error();
}
return redirect()->back();
}
public function edit(Testimonial $testimonial)
{
return view('dashboard.testimonials.edit')->withTestimonial($testimonial);
}
public function update(Testimonial $testimonial,Request $request)
{
if($testimonial->update($request->all()))
{
$this->success('Testimonial Updated Successfully');
}
else
{
$this->error();
}
return redirect()->route('dashboard.testimonials.index');
}
public function destroy(Testimonial $testimonial)
{
if($testimonial->delete())
{
$this->success('Testimonial Deleted Successfully');
}
else
{
$this->error();
}
return redirect()->back();
}
}
Testimonial.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Testimonial extends Model
{
public $guarded = [];
public function allTestimonials()
{
return self::all();
}
}
答案 0 :(得分:1)
确保 xyz 数据库中的推荐书表存在。如果您使用其他名称创建了表格,则必须在模型中对其进行定义。
让我们说,您已经使用了一个表名作为证明。那么在您的模型中,保护字段将为
class Testimonial extends Model
{
protected $table = 'testimonial';
}
答案 1 :(得分:1)
Laravel中有两种表定义方式。
testimonials
是否
是否在您的数据库中可用。每当你不定义
$table
进入模型,这意味着Laravel自动搜索表格。您必须手动将$table
添加到模型文件中,如下所示。每当你不在的时候
按照以下第一条规则以复数形式创建表名。
受保护的$ table ='见证';