Это скорее вопрос концепции, поэтому я приношу свои извинения, если он не является достаточно конкретным.Laravel 5 и Angular Getting JSON From Controller
Я исхожу из фона JQuery/AngularJS; обычно я занимаюсь внешними вещами и работаю с back-end экономно.
Я пытаюсь изучить Laravel 5, чтобы расширить свои навыки, но у меня возникли проблемы с концептуальным сочетанием того, что я знаю из Angular, о чем говорит мне Laravel.
Я хочу, чтобы функция CRUD использовалась в базе данных с использованием Angular, но я хочу, чтобы Laravel помог мне получить эту базу данных от MySQL до JSON, чтобы ее можно было передать.
То, что я сделал это сделал следующее Laravel:
~ Модель:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Pun extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
public $timestamps = false;
}
~ Контроллер:
namespace App\Http\Controllers;
use App\Pun;
use App\Http\Controllers\Controller;
class PunController extends Controller
{
/**
* Show a list of all available puns.
*
* @return Response
*/
public function index()
{
$puns = Pun::all();
return Response::json($puns->toArray());
}
}
}
~ Маршрут:
Route::get('showpunsfromdatabase', function() {
return view('???');
});
The вопросительные знаки выше где я испытываю проблемы. Если я правильно ее понимаю, контроллер должен запросить базу данных, как она определена в модели, и вывести результаты как JSON. Как мне затем направлять угловой на этот контроллер, чтобы я смог получить этот JSON, используя услугу $http
? Должно ли это идти в точку зрения, которая затем втягивает его? Я действительно не хочу этого в «представлении», я просто хочу, чтобы данные (JSON) были доступны для Angular. Думаю ли я об этом правильно?
Мой угловой контроллер выглядит следующим образом:
$scope.punGenerate = function(){
$http.get("???").then(function (response) {$scope.thePunJSON = response.data;});
}
Должно ли представление в контроллере, что я возвращаюсь, соответствует указанному маршруту? 'Showpunsfromdatabase.index'? –
Также извините, где находится '@ index', исходящий из маршрута? –
Нет, это просто псевдоним. Например, если вы создаете FORM, вы можете сделать: {!! Форма :: open (['route' => 'showpunsfromdatabase.index']) !!} –