2015-02-08 6 views
1

У меня проблема с методом AjaxController :: InsertComment ($ comment, $ name); не возвращать переменную $ id в my ajax.bade.php. Это вставить данные в базу данных правильно, но не вернуться ...Как вернуть данные с Laravel 5

Вот мой Ajax Контроллер:

<?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' => '[email protected]', 'comments_text' => 'asdasdsa')); 

     $id = DB::getPdo()->lastInsertId(); 


     return $id; 


    } 
} 

ответ

0

Хорошо, я думаю, что я тебя сейчас. Предположим, мы имеем следующее:

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> 

Ваш контроллер должен читаться как:

<?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; 
    } 
} 
+0

Но как я могу это {{$ ID}} добавить в мой файл PHP? что-то вроде этого: $ std -> comment_id = {{$ id}}; – Vladimir

+0

Можете ли вы перефразировать это? Я не уверен, что понимаю этот последний вопрос? –

+0

Если вы используете 'ajax.blade.php', который я предполагаю, что вы используете, то вы можете повторить каталог' $ id' в шаблоне так: ''

Здравствуйте!

{{isset ($ id)? $ ID: «нет идентификатор не был принят»}} '' –

Смежные вопросы