Fan*_*mic 2 php laravel eloquent
我想知道是否有可能以某种方式自动加载所有Auth::user()
关系。
Auth::user()
返回 my 的一个实例App\Models\Auth\Usuario.php
,并且在Usuario.php
类内部我与其他模型有一些关系。
我现在这样做的方式是手动加载关系,$user->load('relation')
但我需要在每个请求中都这样做。
我想在我的基本控制器中做这样的事情:
public function __construct()
{
$user = Auth::user();
$this->relation = $user->load('relation');
}
Run Code Online (Sandbox Code Playgroud)
但这不正是我要找的。
还有另一种/最好的方法来加载所有的Auth::user()
类关系吗?比如中间件之类的?
您可以使用$with
模型上的属性来声明应始终预先加载的关系。
从文档:
有时,您可能希望在检索模型时始终加载一些关系。为此,您可以在模型上定义 $with 属性:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Book extends Model
{
/**
* The relationships that should always be loaded.
*
* @var array
*/
protected $with = ['author'];
/**
* Get the author that wrote the book.
*/
public function author()
{
return $this->belongsTo('App\Author');
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
583 次 |
最近记录: |