Laravel 5.3自定义类
当我在控制器构造中调用时,在Laravel 5.3自定义类,laravel,laravel-5.2,Laravel,Laravel 5.2,当我在控制器构造中调用时,在laravel中创建一个自定义类 Auth::user()不返回任何数据 当从函数中调用时,它就是工作 类别代码 <?php namespace App\Libraries; use App\User; use Auth; use Illuminate\Support\Facades\DB; use App\Friends; class AppLibrarie { private static $friends_ids = array();
laravel
中创建一个自定义类
Auth::user()不返回任何数据
当从函数中调用时,它就是工作
类别代码
<?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;
}
}
访问经过身份验证的用户会话在Laravel 5.3中已被弃用。以下是升级指南中的段落 在以前版本的Laravel中,您可以访问会话变量或控制器构造函数中经过身份验证的用户。这从来不是该框架的明确特征。在Laravel5.3中,由于中间件尚未运行,您无法访问控制器构造函数中的会话或已验证用户 或者,您可以直接在控制器的构造函数中定义基于闭包的中间件。在使用此功能之前,请确保您的应用程序正在运行Laravel 5.3.4或更高版本: 如果要升级Auth::user()总是返回类型为user的模型,这是一个对象,则需要重新考虑一下身份验证结构。您正在将该对象放入数组中。这是错误的,这就是为什么你没有得到任何数据。改为使用Auth::user()->toArray();
<?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')));
}
}