Dziś chciałem dodać nową tabelę do bazy danych a następnie ją uzupełnić niestety od 5 godzin nie jestem w stanie tego zrobić może ktoś mi wyjaśni o co chodzi?
Migracja
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class site extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('site', function (Blueprint $table) { $table->id(); $table->string('link'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('site'); } }
<?php namespace App; use Illuminate\Database\Eloquent\Model; class site extends Model { public $timestamps = false; }
use App\site; $rules = [ 'site_link' => 'required', 'site_description' => 'required', 'rating' => 'required', ]; $customMessages = [ 'site_link.required' => 'Wymagany link do strony!', 'site_description.required' => 'Wymagany opis strony!', 'rating.required' => 'Wymagana ocena strony!' ]; $this->validate($request, $rules, $customMessages); $site_link = $request -> input('site_link'); $site_description = $request -> input('site_description'); $rating = $request -> input('rating'); $site = new site; $site->link = "1"; $site->save(); return redirect()->back()->with('msg_success', 'Dodałeś Nową stronę!<br>'); } else { return redirect()->back()->with('msg_errors', 'Błąd dodawania nowej strony. Prosimy o kontakt z administratorem.'); } }
Jeśli uzyję bazy danych która istniała wcześniejszej nie ma problemu. po modyfikacji kodu można bez problemu dodać nowe rekordy problem niestety występuje tylko w przypadku próby dodania danych do nowej tabeli.
Sprawdziłem przez phpmyadmin czy tabela "site" znajduje się w bazie danych i wszystko jest okey. Jeśli dodam rekordy ręcznie w bazie i chce je pobrać to nie ma problemu problem pojawia się przy próbie dodania...
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'videoweb.sites' doesn't exist (SQL: insert into `sites` (`link`) values (1))
W bazie danych videoweb istnieje tabela site natomiast nie wiem skąd bierze się "s" na końcu. w błędzie który wyświetla ralavela.