gpt4 book ai didi

php - Laravel5 : What does the extra slash in belongsToMany ('\App\Article' ) do?

转载 作者:行者123 更新时间:2023-12-04 16:54:37 27 4
gpt4 key购买 nike

在阅读 Laracasts Laravel 5 教程时,导师没有提到第 21 集:多对多关系中命名空间引用 [belongsToMany('\App\Article')] 之前的额外斜线。它的意义何在?

如果我删除额外的\,我会收到一个错误:

No query results for model [App\Article].



文章.php
namespace App;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Article extends Model
{
public function tags()
{
return $this->belongsToMany('App\Tag');
}
}

App/Tag.php
namespace App;

use Illuminate\Database\Eloquent\Model;

class Tag extends Model
{

public function articles()
{
return $this->belongsToMany('\App\Article');
}
}

最佳答案

关于帖子标题的回答:

就像评论中提到的那样,\指的是全局命名空间。不是 App 命名空间。

你也可以这样做

public function articles()
{
return $this->belongsToMany(Article::class);
}

如果你更清楚的话。这也将提供点击类直接转到它的定义的机会。(在大多数 IDE 中)

关于您收到的错误的回答

No query results for model [App\Article].



如果您的 Controller 中有这样的东西,则主要是创建此错误:
$article = Article::findOrFail($id)

如果找不到该文章,它将抛出该异常。这意味着在这种情况下传递的 $id 不存在。

关于php - Laravel5 : What does the extra slash in belongsToMany ('\App\Article' ) do?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38866054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com