小编Lei*_*ith的帖子

JQuery select2从列表中的选项设置默认值?

我希望能够使用JQuery Select2插件设置select元素的默认/选定值.

javascript jquery html-select jquery-select2

55
推荐指数
7
解决办法
15万
查看次数

Laravel Dingo API以及Middleware \\ VerifyCsrfToken.php的问题

我使用Dingo和Laravel 5.1来创建简单的API.

所以在route.php我有:

$api = app('Dingo\Api\Routing\Router');

$api->version('v1', function($api) {

    $api->get('getvoucher', 'App\Http\Controllers\BitemsController@index');
    $api->get('update/{key}', 'App\Http\Controllers\BitemsController@update');
    $api->post('store', 'App\Http\Controllers\BitemsController@store');

    $api->post('authenticate', 'App\Http\Controllers\AuthenticateController@authenticate');
$api->post('logout', 'App\Http\Controllers\AuthenticateController@logout');
$api->get('token', 'App\Http\Controllers\AuthenticateController@getToken');

});
Run Code Online (Sandbox Code Playgroud)

我的BitemsController是:

public function index(Request $request)
    {

        $bitem = Bitem::where('key',$request->key)->where('id',$request->pin)->first();

        return $bitem;
    }


    public function store(Request $request)
    {
        $bitem = new Bitem($request->all());
        $bitem->save;
        return $bitem;
    }
Run Code Online (Sandbox Code Playgroud)

现在我使用POSTMAN应用程序来测试API,当我将GET发送到localhost时:8888/api/getvoucher一切都很好,但是当我发出POST请求来存储一些数据时,我得到了错误:

"message": "500 Internal Server Error",
    "status_code": 500,
    "debug": {
        "line": 53,
        "file": "C:\\wamp\\www\\dine\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php",
        "class": "Illuminate\\Session\\TokenMismatchException",
        "trace": [
Run Code Online (Sandbox Code Playgroud)

邮差: 在此输入图像描述

要解决此问题,我尝试添加:

protected $except = [
    'api/*',
];
Run Code Online (Sandbox Code Playgroud)

在中间件VerifyCsrfToken.php中,但是工作.

请告诉我如何解决我的问题......

php middleware csrf laravel dingo-api

7
推荐指数
1
解决办法
432
查看次数

Symfony 2.8解析错误:语法错误,意外':',期待';' 或者在第50行的c:\ xampp\htdocs\myproject\path\to\AnnotationRegistry.php中的'{'

我从自己的电脑上下载并安装了Symfony 2.8.我复制了我的项目并将其粘贴到我们公司的电脑上.我还没有创建并连接到数据库.我试着这样做php app/console server:run,c:\xampp\htdocs\ninjaz\但之后我收到此错误消息.

Parse error: syntax error, unexpected ':', expecting ';' or '{' in C:\xampp\htdo cs\Ninjaz\vendor\doctrine\annotations\lib\Doctrine\Common\Annotations\Annotation Registry.php on line 50

编辑:我自己的电脑有XDSP和PHP 7.1.我们公司的PC有XAMPP PHP 5.5.19

这是AnnotationRegistry.php的内容:

<?php

namespace Doctrine\Common\Annotations;

final class AnnotationRegistry
{
/**
 * A map of namespaces to use for autoloading purposes based on a PSR-0 convention.
 *
 * Contains the namespace as key and an array of directories as value. If the value is NULL
 * the include path is used for …
Run Code Online (Sandbox Code Playgroud)

php php-5.5 symfony-2.8 php-7.1

6
推荐指数
1
解决办法
6630
查看次数

Omnipay MiGS:如何处理成功交易后关闭浏览器的用户?

假设用户在重定向到万事达卡进行支付后成功完成交易,但在重定向回vpc_ReturnURL提供给Omnipay驱动程序之前关闭浏览器,有没有办法自动处理?

php payment-gateway omnipay mastercard

5
推荐指数
1
解决办法
199
查看次数

select2 4.0 ajax模式下的初始值

我的页面上有以下选择:

<select><option value="1" selected="selected">Caption</option></select>
Run Code Online (Sandbox Code Playgroud)

我调用 select2 (v 4.0) init:

city.select2({
    ajax: {
        url: <...>,
        data: <...>,
        processResults: <...>,
        cache: true
    },
    escapeMarkup: function(markup){ return markup; },
    minimumInputLength: 0,
    templateResult: function(repo){ return repo.name; },
    templateSelection: function(repo){ return repo.name; }
});
Run Code Online (Sandbox Code Playgroud)

问题是 select2 正在重置默认选定值并显示空白字符串。有没有办法在 select2 init 上设置默认值?

javascript ajax jquery jquery-select2 jquery-select2-4

4
推荐指数
1
解决办法
9766
查看次数

如何在Laravel 5.3中播种日期字段?

我已经设法为启动时需要在数据库中的数据设置了相当数量的种子.一切都很简单并且运行良好,直到我需要使用默认日期播种DATE字段.

我试过以下......

DatabaseSeeder.php

class SettingsTableSeeder extends Seeder {
    public function run()
    {
        Setting::create([
            'name' => 'Start Date',
            'date' => '2000-01-01'
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我被告知添加这应该修复它,但它没有.

Setting.php

protected $dates = [
    'created_at',
    'updated_at',
    'date'
];
Run Code Online (Sandbox Code Playgroud)

每次我去运行播种机时都会抛出错误:

[InvalidArgumentException]
The separation symbol could not be found
Unexpected data found.
Trailing data
Run Code Online (Sandbox Code Playgroud)

如果我删除它改变的日期周围的引号..

[InvalidArgumentException]
The separation symbol could not be found
Data missing
Run Code Online (Sandbox Code Playgroud)

知道如何为DATE数据库字段播种默认值吗?

php laravel laravel-5.3

4
推荐指数
1
解决办法
6429
查看次数

Laravel - 仅为本地环境添加别名

我需要facade在我的Laravel 5应用程序中设置一个别名,但我希望它仅在我的应用程序中可用local environment.

我想要添加的存储库是Laravel-Debugbar.

所以我Http/Providers/AppServiceProvider以这种方式注册了提供商:

public function register()
{
    if( $this->app->environment() == "local")
    {
        $this->app->register('Barryvdh\Debugbar\ServiceProvider');
    }
}
Run Code Online (Sandbox Code Playgroud)

如何为别名做同样的事情?

'Debugbar' => 'Barryvdh\Debugbar\Facade',
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

3
推荐指数
1
解决办法
1716
查看次数

Laravel 5.3 API

当用户在浏览器上输入用户名和密码并成功登录时.

我喜欢在用户登录后发出一些API请求.

Laravel 5.3在routes文件夹中提供api.php.

在api.php我已经包括:

Route::group(['middleware' => ['auth']], function () {
    Route::get('/test', function (Request $request) {
         return response()->json(['name' => 'test']);
    });
});
Run Code Online (Sandbox Code Playgroud)

domain.com/api/test浏览器上请求时,由于某种原因它重定向到/home

不需要API令牌.

php laravel laravel-5.3

3
推荐指数
1
解决办法
3460
查看次数

Laravel广播认证

如何使用自定义auth方法向通道认证用户?

例如,在我的应用程序中,我对API使用令牌身份验证(存储在每个用户的数据库中),该身份验证通过标头传递并由自定义中间件读取。

如何使用这些通道的自定义身份验证方法来控制访问?客户端和服务器端将如何?我正在使用socket.io,而Laravel文档尚不清楚auth方法如何用于套接字。

使用案例:

我有使用默认Laravel迁移存储在数据库中的用户。但是,我的应用只是API,它是无状态的,因此remember_token,我使用它来存储在登录端点中生成的唯一身份验证令牌,而不是用来存储会话令牌。

API的每个端点,请求都通过中间件传递,在中间件中,头中存在的令牌可检索用户

$token = Request::header('X-token');

$request->user = User::findByToken($token);

return $next($request);
Run Code Online (Sandbox Code Playgroud)

现在问题来了。Laravel文档尚不清楚私有渠道的工作方式。

广播客户端将如何传递上述令牌并获得加入指定频道的授权?

php socket.io laravel

2
推荐指数
2
解决办法
3773
查看次数

Laravel 5.5优化查询

我有一个关于每次从DB检索数据时减少数据库连接的问题。我假设我有5个表格(通知,订单,用户,产品,交易)

在仪表板中,我必须显示:

  • 未读的通知
  • 订单统计
  • 产品数量
  • 交易统计

最简单的方法(伪代码):

$notis = Notification::where('unread')->get();
$orderStat = Order::join('user')->where('count(order.id)', 'status')->groupby('status');
$product = Product::count();
$transactions = Transaction::join('user')->where('count(trans.id)', 'status')->groupby('status');
Run Code Online (Sandbox Code Playgroud)

因此,我必须运行4个单独的查询,正如我的导师说的那样,如果每个表中有很多记录,或者仪表板需要更多表(而不用于联接)进行查询,那么该解决方案将减少服务器的语音。
我已经做了:

  • 外键列索引
  • 渴望进行雄辩的加载(如果有的话)
  • (或在呈现UI后使用ajax加载数据)

我想问:对于上述情况,还有其他方法可以减少处理时间吗?
和其他有关的问题connection pool,他说用它来提高速度。经过研究发现,Laravel已经建立了连接池,不是吗?
编辑:
用户有许多通知,订单,交易。
我只想问一下上面没有提到的提高性能的方法。

php laravel eloquent laravel-5.5

2
推荐指数
1
解决办法
3911
查看次数

过滤laravel雄辩的关系

我有Groups,Users,GroupPositions,table.

关系:
用户所属的ToMany Groups
Users areToMany GroupPositions
Group hasMany GroupPositions

//users
public function groupPositions() {
return $this->belongsToMany(
    'App\Models\GroupPositionView',
    'vw_group_members',
    'userId',
    'groupPositionId');
}

public function groups() {
return $this->belongsToMany(
    'App\Models\GroupView',
    'vw_group_members',
    'userId',
    'groupId');
}
Run Code Online (Sandbox Code Playgroud)

我需要选择一个组,其中包含成员及其在该特定组中的相应位置.成员可以是具有不同职位的不同组的一部分.他可以成为一个团队的领导者,也可以是不同团队的经理.

目前,我有这个查询:

$group = GroupView::where('tag', $tag)
->with(['user.groupPositions'])
->get();
Run Code Online (Sandbox Code Playgroud)

它给了我所有成员的所有成员的所有职位.我想将其过滤到特定的组.

我也有这个:

$groupId = 1;
$group = GroupView::with(['users.groupPositions' => function($query) use($groupId) {
    $query->whereHas('group', function($query) use($groupId) {
        $query->where('groupId', $groupId);
    });
}])
->where('groupId', $groupId)
->firstOrFail();
Run Code Online (Sandbox Code Playgroud)

这个工作.但是,问题是我需要通过标签获取组.如果我将所有groupId更改为tag,则它不再起作用.可能是因为groupPositions和我的vw_group_members没有标记列.

所以我的问题是,是否可以通过标签过滤我的查询?

php laravel eloquent

0
推荐指数
1
解决办法
364
查看次数