小编Pad*_*dro的帖子

带闭包的laravel查询

我正在尝试查询数据库并在闭包函数中创建一个过滤器,我的模型(简体)如下所示:

Products:
    id,
    sale_id

Sales:
    id,
    provider_id

Provider:
    id
Run Code Online (Sandbox Code Playgroud)

我想要来自特定提供商的所有产品,所以我构建了我的查询:

Product::with(array
           ('sale'=>function($query){
                $query->where('provider_id', '=', 1);
            })
        )->get();
Run Code Online (Sandbox Code Playgroud)

问题是结果包含销售的正确产品,以及销售空的错误产品,如下所示:

[{
    "id": 25,
    "sale": null
},
{
    "id": 26,
    "sale": {
        "id": 15,
        "provider_id": 3
    }
}]
Run Code Online (Sandbox Code Playgroud)

销售的产品:null是来自其他提供商的产品,我可以在内存中过滤它们,但我认为有一种方法可以避免查询的空结果,任何线索?

php mysql laravel eloquent

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

Laravel 路线不适用于生产

我有一个 Laravel5/angularJS 应用程序(将 Laravel 作为前端的 api 休息和角度)

在我当地的环境中,一切都像魅力一样。

但是当我上传到主机时,我只能访问索引页面,其他所有内容都会抛出 404。

在我的共享主机中,我有这样的文件系统。

public_html
    laravel-backend (it has app, bootstrap, confi...etc, all laravel app)
    laravel-frontend (it would be like the public folder of the laravel default file system)
    .htaccess
Run Code Online (Sandbox Code Playgroud)

.htaccess 内容:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} anotherAppDomainAtSharedServer$ [NC]
    RewriteCond %{REQUEST_URI} !/.*$
    RewriteRule ^(.*)$ /$1 [L]

    RewriteCond %{HTTP_HOST} laravelAppDomain$ [NC]
    RewriteCond %{REQUEST_URI} !^/laravel-frontend/.*$
    RewriteRule ^(.*)$ /laravel-frontend/$1 [L]

</IfModule>
Run Code Online (Sandbox Code Playgroud)

laravel-frontend 中的 index.php:

require __DIR__.'/../laravel-backend/bootstrap/autoload.php';
$app = require_once __DIR__.'/../laravel-backend/bootstrap/app.php';


$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle( …
Run Code Online (Sandbox Code Playgroud)

php .htaccess shared-hosting laravel angularjs

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

使用 Laravel 保护 JavaScript 资源

我已经用 laravel 5.2 构建了 rest api,将它与 angularJS 集成并用 jwt 保护它。

这是我第一次使用 jwt,而不是 angularjs,在我过去的项目中(使用 spring mvc/security、angularJS 和 session 代替 jwt),我可以通过使用 spring 安全拦截 url 来保护资源,如下所示:

<sec:intercept-url pattern="*/app/**" access="isAuthenticated()" />
Run Code Online (Sandbox Code Playgroud)

有没有办法用 laravel 做到这一点?,我已经做了 javascript 验证,所以如果 jwt 令牌无效,用户不能访问任何路由,只能登录,问题是 javascript 源是可用的,无论用户是登录与否。

php jwt laravel angularjs satellizer

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