最近发表的话题
最近发表的评论
  • App\Models\User::find () 来自哪里? at 6个月前

    @等车的猪 这段是比较绕,我理解是这样:

    public function __call($method, $parameters)
        {
            if (in_array($method, ['increment', 'decrement'])) {
                return $this->$method(...$parameters);
            }
            return $this->newQuery()->$method(...$parameters);
        }

    这里newQuery()尝试执行

    public function newQuery()
        {
            return $this->registerGlobalScopes($this->newQueryWithoutScopes());
        }

    newQueryWithoutScopes() 使用 newModelQuery()创建一个 Eloquent Builder 类 instance ,registerGlobalScopes($builder)创建并返回一个带 scope 的 Eloquent Builder 类的 instance. 里面包含 $method 变量的function (也就是 find()).
    这里请教下@leo

    1. 在5.5版本__call魔术方法创建 Eloquent Builder 用 Global Scope 进行了区分。这里registerGlobalScopes($builder)是为范围查询把当前 User 的 scope 范围复制给 find 命令么?
    2. public function newQueryWithoutScopes()
      {
      return $this->newModelQuery()
        ->with($this->with)
        ->withCount($this->withCount);
      }

      这里 withCount() 这个 function 在 Eloquent Builder 里也找不到,请问这个是计数的么?它也是用 __call 这个魔术方法执行的么?

  • 商品列表乱掉了? at 10个月前

    @leo
    谢谢。这里我写了。Goole Chrome inpect 发现是

    class="products_index-page"

    然后发现是helper.php的问题。

  • 商品列表乱掉了? at 10个月前

    @leo @FreeMason
    我也碰到这个问题了。仔细检查了一下之前的步骤并未在index.blade.php页面内发现有products-index-page这个class。
    解决办法1:在app.scss文件里把.products-index-page{}这个大class去掉
    解决办法2:在index.blade.php文件里

    <div class="row">

    改成

    <div class="row products-index-page">

    请问下这个class是否是在这个位置的呢

  • App\Models\User::find () 来自哪里? at 10个月前

    @leo 就是没找到才问的啊
    我在Illuminate\Foundation\Auth\User 和Illuminate\Notifications\Notifiable 这两个类里没看到
    Illuminate\Foundation\Auth\User 在源码里继承自Illuminate\Database\Eloquent\Model, 可我也没找到find()这个方法。
    所以请问下,这个find()究竟是从哪里继承来的。
    谢谢先