php - Laravel add data to MySQL -


project on laravel 5.3, collecting data in session multiple pages , want add mysql. problem data doesn't inserted mysql created_at. data in variable, doesn't go saved in mysql.

model:

class post extends model {     public $vardas, $pavarde, $miestas, $amzius, $telefonas, $pastas, $q1, $q2, $q3, $q4;      protected $fillable = ['vardas', 'pavarde', 'miestas', 'amzius', 'telefonas', 'pastas', 'q1', 'q2', 'q3', 'q4'];      public function addtodb($vardas, $pavarde, $miestas, $amzius, $telefonas, $pastas, $q1, $q2, $q3, $q4)     {         $answer = new post;          $answer->vardas = $vardas;         $answer->pavarde = $pavarde;         $answer->miestas = $miestas;         $answer->amzius = $amzius;         $answer->telefonas = $telefonas;         $answer->pastas = $pastas;         $answer->q1 = $q1;         $answer->q2 = $q2;         $answer->q3 = $q3;         $answer->q4 = $q4;         $answer->save();     }  } 

database:

  schema::create('answers', function (blueprint $table) {         $table->increments('id');         $table->string('vardas');         $table->string('pavarde')->nullable();         $table->string('miestas')->nullable();         $table->string('amzius')->nullable();         $table->string('telefonas')->nullable();         $table->string('pastas')->nullable();         $table->string('q1')->nullable();         $table->string('q2')->nullable();         $table->string('q3')->nullable();         $table->string('q4')->nullable();         $table->timestamps();     }); 

and controller:

   public function getaciu () {     $vardas = input::get('vardas');     $pavarde = input::get('pavarde');     $miestas = input::get('miestas');     $amzius = input::get('amzius');     $telefonas = input::get('telefonas');     $pastas = input::get('pastas');     $q1 = session::get('q1');     $q2 = session::get('q2');     $q3 = session::get('q3');     $q4 = session::get('q4');     $answer = new post;    $answer->addtodb($vardas, $pavarde, $miestas, $amzius, $telefonas, $pastas, $q1, $q2, $q3, $q4);    return view('aciu'); } 

i recommend use laravel 5.3 official syntax only.

as mentioned using laravel 5.3.

please try following code.

to debug value of variables use "dd($variable_name)";

note: make sure have changed access modifier of "addtodb" protected in order access on controller without int. class object e.g: $result = post::addtodb($vardas, $pavarde, $miestas, $amzius, $telefonas, $pastas, $q1, $q2, $q3, $q4);.

model: use "use illuminate\database\eloquent\model;" before declaring model class

eg:

namespace app;  use illuminate\database\eloquent\model;      class post extends model     {          protected $fillable = ['vardas', 'pavarde', 'miestas', 'amzius', 'telefonas', 'pastas', 'q1', 'q2', 'q3', 'q4'];          protected function addtodb($vardas, $pavarde, $miestas, $amzius, $telefonas, $pastas, $q1, $q2, $q3, $q4)         {            //dd($vardas); uncomment debug value of $vardas              $answer = new post();              $answer->vardas = $vardas;             $answer->pavarde = $pavarde;             $answer->miestas = $miestas;             $answer->amzius = $amzius;             $answer->telefonas = $telefonas;             $answer->pastas = $pastas;             $answer->q1 = $q1;             $answer->q2 = $q2;             $answer->q3 = $q3;             $answer->q4 = $q4;             return $answer->save();         }      } 

controller:

please use following line before controller class declartions , modify "use app\post; " post model namespace.

e.g:

namespace app\http\controllers; use illuminate\http\request; use app\http\controllers\controller; use app\post;  // please specify namespace of model here 

modify controller method:

public function getaciu (request $request) {       //dd($request->all()); //uncomment debug complete request body         $vardas = $request -> input('vardas');                 $pavarde = $request -> input('pavarde');                 $miestas = $request -> input('miestas');                 $amzius = $request -> input('amzius');                 $telefonas = $request -> input('telefonas');                 $pastas = $request -> input('pastas');                 $q1 = $request -> session() - > get('q1');                 $q2 = $request -> session() - > get('q2');                 $q3 = $request -> session() - > ('q3');                 $q4 = $request -> session() - > ('q4');                 $result = post::addtodb($vardas, $pavarde, $miestas, $amzius, $telefonas, $pastas, $q1, $q2, $q3, $q4);                 return view('aciu');         } 
  • as using laravel 5.3.

  • in laravel 5.3 $request->input('field_name') used instead of input::get('field_name');

  • and session can using $request->session()->get('key_name');

please check ref: https://laravel.com/docs/5.3/requests

hope above code work.


Comments

Popular posts from this blog

php - How to add and update images or image url in Volusion using Volusion API -

javascript - jQuery UI Splitter/Resizable for unlimited amount of columns -

javascript - IE9 error '$'is not defined -