Создать собственный класс в laravel
, когда я называю в конструкции контроллера затем Auth :: пользователь() не возвращает никаких данныхLaravel 5.3 Пользовательский класс
Когда вызов из в функции, то это работа
Класс Код
<?php namespace App\Libraries;
use App\User;
use Auth;
use Illuminate\Support\Facades\DB;
use App\Friends;
class AppLibrarie
{
private static $friends_ids = array();
public function __construct()
{
self::$friends_ids=Auth::user();
}
public function getfriends(){
return self::$friends_ids;
}
}
И контроллер
<?php
namespace App\Http\Controllers;
use App\Libraries\AppLibrarie;
use Illuminate\Http\Request;
use App\Http\Requests;
class LiveController extends Controller
{
protected $lib;
public function __construct(AppLibrarie $appLibrarie)
{
$this->lib = $appLibrarie;
}
public function search(Request $request){
return response()->json($this->lib->searchdata($request->get('query')));
}
}
Auth :: пользователя() всегда возвращает модель типа User, которая является объектом. Вы помещаете этот объект в массив. Это неправильно, поэтому вы не получаете никаких данных. Используйте это вместо Auth :: user() -> toArray(); –