我遵循了 laracast:laracast:laracast:laracast:laracast: Laravel 5.3中的新功能:Laravel Passport 使用oauth2. 我的web.php客户/消费者项目中的文件看起来像: use Illuminate\Http\Request; Route::get('/', function () { $query = http_build_query([ 'client_id' => 2, 'redirect_uri' => 'http://offline.xyz.com/callback', 'response_type' => 'code', 'scope' => '', ]); return redirect ('http://api.xyz.com/oauth/authorize?'.$query); }); Route::get('/callback',
以下是关于 laravel-5.3 的编程技术问答
Macroable.php行74中的Badmethodcallexception: 方法或不存在. $category = $categories->where('Node_ID', (explode('.', $cat{$title_id})[0])) ->orWhere('Node_Path', $cat->{$category_name}) ->first(); 如果我在没有" or Where"工作的情况下尝试,如果我使用它,则会引发错误.有人知道错误在哪里? 解决方案 您正在尝试在集合上使用orWhere,这就是为什么它会显示出错误的原因.您应该在这样的模型上使用它(以Category为模型): $category = Category::where('Node_ID', (explode('.', $cat{$title_id})[0])) ->orWhere('Node
登录登录器后,我们可以将此属性覆盖为重定向用户: protected $redirectTo = '/home'; 这是文档中的陈述: 如果重定向路径需要自定义生成逻辑,则可以定义 redirectto方法而不是redirectto属性: 保护函数redirectto(){ //} ,但它总是将其重定向到'/home';无论情况如何. protected function redirectTo() { if (Auth::user()->role==0) { return '/volunteer'; } else { return '/donor'; } } 如果存在一种方法,则将使用该方法. 但是,覆盖authenticated()或sendLoginResponse()函数工作正常. protected function authenticated() { if (Auth::user()
我正在尝试使用模型工厂在数据提供商中制作模型.如果我在设置方法中或直接在测试中使用工厂,它可以正常工作,但是如果我尝试在数据提供商中使用它,我会遇到错误: 1)警告 为myclasStest指定的数据提供商:: TestSomeMethod无效. 无法使用名称[默认] [app \ model \ user]找到工厂. 工厂定义: /** @var \Illuminate\Database\Eloquent\Factory $factory */ $factory->define(\App\Model\User::class, function (Faker\Generator $faker) { static $password; return [ 'id' => $faker->unique()->numberBetween(1, 10000), 'email_address' => $faker->un
我正在尝试创建一个刀片指令,以突出显示一些将从我的搜索查询中返回的单词. 这是我的刀片指令: class AppServiceProvider extends ServiceProvider { public function boot() { Blade::directive('highlight', function($expression, $string){ $expressionValues = preg_split('/\s+/', $expression); foreach ($expressionValues as $value) { $string = str_replace($value, "".$value."", $string); } return "
我做所有事情: 安装了新鲜的Laravel 5.3.9应用程序(我所有的非新鲜应用程序都会产生相同的错误) 运行php artisan make:auth 创建新表的迁移 `php手工艺品制造:迁移create_quotations_table -create = Quotations Schema::create('quotations', function (Blueprint $table) { $table->increments('id'); $table->string('text'); // my problem persists even with the below two columns commented out $table->integer('creator_id')->unsigned()->index('creator_id'); $table->integer('updater_id')-
我有一个表格,我可以获得title,description和image.当我dd($requests->all());时,它返回以下是正确的. array:4 [ "projectTitle" => "asd" "project_description" => "asd" "project_image" => "15940723_1336567063030425_9215184436331587115_n.jpg" "_token" => "eUj27iioySvIgut5Afu0ZHMgeVrO99a9e1o7Tw0w" ] 我将值存储为: $project = new Portfolio; $project->freelancer_id = Auth::user()->id; $project->title = $request->get('projectTitle'); $project->description = $request->get('p
x,y和z有一些单独的表. 样本数据: Name | Amount | Date —————|————————|————————— X | 100 | 15-11-17 Y | 50 | 15-11-17 X | 50 | 15-11-17 Z | 70 | 15-11-17 Z | 30 | 15-11-17 现在,我想显示一个表格,x将在同一日期中以两个值的求和为两个值. . 预期结果: Name | Amount | Date —————|————————|————————— X | 150 | 15-11-17 Y | 50 | 15-11-17 Z | 100 | 15-11-17 那么,Laravel的查询是什么?我使用groupby().但是无法获得目标结果. 这是我的Laravel查询代码 $data = DB::ta
我已经给了777 permission images文件夹. Charts Table也保存了所有图像记录.我要连接表:charts在这里结构. public function store(Request $request) { $input = $request->all(); $tradeID= Auth::user()->trade()->create($input); if($file = $request->file('file')) { $name = time() . $file->getClientOriginalName(); $file->move('images', $name); $photo = Chart::create(['file'=>$name]); $input['photo_id'] = $photo->id; }
我有两种类型的用户:"供应商"和"客户".我目前正在使用Laravel's built-in Auth Controllers(来自make:auth命令)来进行我的客户端用户身份验证. ,由于我有两种用户,所以我更改了LoginController,RegisterController和ResetPasswordController上的$redirectTo属性,为/client/home. 这是证明: register controller logincontroller 现在,它每次成功进行注册,登录和密码重置时都会重定向到/client/home. 但是问题是当我已经在mysite.com/client/home中时,只要我尝试通过地址栏转到mysite.com/register或mysite.com/login时,它将重定向到mysite.com/home而不是mysite.com/client/home. . 每当经过身份验证的用户尝试转到
我想更新一条关系.例如,我有一个称为产品 的模型 class Product extends Model { protected $primaryKey = 'product_id'; public $timestamps = FALSE; public function Size(){ return $this->hasMany('App\Size'); } } 和一种称为 size 的模型 class Size extends Model { public $timestamps = FALSE; protected $fillable = ['product_id','size']; public function Product(){ return $this->belongsTo('App\Product'); } 这是我的控制器: public func
我想在特定时间的特定天数中执行一项任务. 现在,我使用此代码在一个月的第1和15天运行任务. $schedule->command('payments:create')->daily()->when(function () { $days = [1,15]; $today = Carbon::today(); return in_array($today->day, $days); }); 有什么方法可以在这些天特定时间设置此任务? 解决方案 您可以在许多方面以多种方式实现它: $schedule->command('payments:create')->monthlyOn(1, '15:00'); $schedule->command('payments:create')->monthlyOn(15, '15:00'); 如果您想强制执行任务即使在维护模式下运行,则可以使用 extinmain
protected $middleware = [ \App\Http\Middleware\Syspoint::class, ] use Session; class Syspoint { echo \Session::get('syspoint'); } 我每次都需要一个中间件运行,当页面请求时,中间件包含会话. 我放在protected $middleware的内部,但是全局中间件无法获得会话. 解决方案 您正在调用会话,但尚未启动. 如果您需要中间件内的会话,则必须将其放在键protected $middlewareGroups下,然后在打电话给Startession之后,即: protected $middlewareGroups 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Midd
laravel(正确)的最新版本使用帖子注销会话.这样做的理由是,Get/Head仅应用于被动动作符合HTTP. 使用CSRF代币发布也可以保护恶意用户/网站免受会议的记录: 必须使用csrf-csrf保护 但是,如果会话已经计时,并且用户单击注销(触发帖子到注销路由)会收到令牌不匹配错误.这很有意义 - 令牌不匹配,因为会话已经过期. 我可以根据请求变量捕获特定的tokenMismatchException,如果是的话,请继续以他们的欢乐方式(到已登录的重定向路径,例如" home"或"/").这样: public function render($request, Exception $e) { if ($e instanceof TokenMismatchException && $request->getRequestUri() === '/logout') { return redirect('/'); } re
登录后更改默认值LoginController重定向时,我有问题 ErrorException in Response.php line 339: Header may not contain more than a single header, new line detected 我已经尝试了所有内容,但它不起作用,代码是: class LoginController extends Controller { protected $redirectTo = '/home'; protected function redirectTo() { if (\Auth::check()) { $user_id = \Auth::id(); $usuario = users::where('id','=',$user_id)->first(); if($usuario->hasRole('copy')){ r
在我的项目中,当管理员从下拉台上更改时区时,时区(pt,cst等)下拉下,管理员面板会从选定的下拉台上反映时区. 如何根据所选选项更改config/app.php" timezone"(application timezone). 解决方案 您可以使用Laravel Helper函数config设置时区.但是,这将仅影响您将收到的请求. config(['app.timezone' => $timezone]); 如果您的目标是更改一次时区并按照每个请求运行,那么将更改的时区保存在DB或文件中.然后,为DB编写查询或在app/config.php中读取文件,然后在文件中更改索引时区的值. 例如(文件示例): 更改时区时,它将保存在文件中. file_put_contents("path/to/file", $timezone); 和,在app/config.php 中 $timezone= file_get_contents("path/