I have problem with method AjaxController::InsertComment($comment,$name); not return $id variable into my ajax.bade.php. It insert data into database correctly but not return...
Here is my Ajax Controller:
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AjaxController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function __construct()
{
$this->middleware('guest');
}
public function index()
{
return view('ajax.ajax');
}
public static function InsertComment($comment,$name){
$qv = DB::table('comments')->insert(
array(
'name' => $name,
'comments_text' => $comment
)
);
//$id = DB::table('comments')->insertGetId(array('name' => 'john@example.com', 'comments_text' => 'asdasdsa'));
$id = DB::getPdo()->lastInsertId();
return $id;
}
}
Ok, I think I got you now. Suppose we have the following:
Example: ajax.blade.php
<div>{{ "Hi" }} </div>
<script>
$.post('/ajax', {
'_token': $('meta[name=csrf-token]').attr('content'),
task: "comment_insert",
userID: _userID,
comment: _comment,
name: _name,
userName: _userName,
date: _date
}).done(function( data ) {
alert( "ID Loaded: " + data );
});
</script>
Your controller should read like:
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AjaxController extends Controller {
public function __construct()
{
$this->middleware('guest');
}
public function index()
{
return view('ajax.ajax');
}
public static function InsertComment($comment,$name)
{
$id = DB::table('comments')
->insertGetId(array(
'name' => $name,
'comments_text' => $comment
));
return $id;
}
}