小编fre*_*dbe的帖子

PHP 命名空间与需要

快速提问,我正在使用 HttpFoundation 组件(Symfony),但我不清楚一些事情。我正在查看的教程显示了此代码

// framework/index.php
require_once __DIR__.'/vendor/autoload.php';

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

$request = Request::createFromGlobals();

$input = $request->get('name', 'World');

$response = new Response(sprintf('Hello %s', htmlspecialchars($input, ENT_QUOTES, 'UTF-8')));

$response->send();
Run Code Online (Sandbox Code Playgroud)

现在,这有效,没问题,但我试图让它在没有“use”关键字的情况下工作,因此包括(php require)请求类本身,然后我找不到一个类,这对我来说太奇怪了,当我使用 use 关键字并使用命名空间时,找到了类,但是当我包含类文件本身时,我得到了一个未找到的类..

所以为了说明,这将返回一个'找不到类'..

// framework/index.php
require_once __DIR__.'/vendor/autoload.php';
require_once __DIR__.'/vendor/symfony/http-foundation/Request.php';

$request = new Request();
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?提前致谢!

PS 我已经红色了 use 关键字不包含任何内容,只是声明名称空间或其他内容?所以这对我来说太奇怪了,它适用于用例,因为它甚至不包含文件,当我直接包含文件时,它返回一个“找不到类”......

php symfony

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

按关系值对集合进行排序

我想通过嵌套关系的属性对laravel集合进行排序.

所以我查询所有项目(仅在项目有与当前用户相关的任务的地方),然后我想按任务关系的截止日期对项目进行排序.

当前代码:

Project.php

public function tasks()
{
    return $this->hasMany('App\Models\ProjectTask');
}
Run Code Online (Sandbox Code Playgroud)

Task.php

public function project()
{
    return $this->belongsTo('App\Models\Project');
}
Run Code Online (Sandbox Code Playgroud)

UserController的

$projects = Project->whereHas('tasks', function($query){
        $query->where('user_id', Auth::user()->id);
    })->get()->sortBy(function($project){
        return $project->tasks()->orderby('deadline')->first(); 
    });
Run Code Online (Sandbox Code Playgroud)

我不知道即使是在正确的方向?任何建议表示赞赏!

nested laravel eloquent

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

标签 统计

eloquent ×1

laravel ×1

nested ×1

php ×1

symfony ×1