讨论数量:
User::query()->where() 配置phpstorm database 就可以提示
我自己封装了一个 trait 文件。然后每个Model 都调用了它,就可以了。
trait 文件内容如下:
<?php
namespace App\Models;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Trait ModelExtendTrait
* @package App\Models
* @method static static firstOrCreate(array $attributes, array $values = [])
* @method static static|null find(string $id, array $columns = ['*'])
* @method static Collection|static[] findMany(Arrayable|array $ids, array $columns = ['*'])
* @method static bool chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
* @method static static first(... $columns = ['*'])
* @method static Builder forPage(int $page, int $perPage = 15)
* @method static Builder from($table, $as = null)
* @method static Collection get($columns = ['*'])
* @method static Builder groupBy(array|string ...$groups)
* @method static Collection hydrate(array $items)
* @method static Builder limit(int $value)
* @method static int increment($column, $amount = 1, array $extra = [])
* @method static bool insert(array $values)
* @method static int insertGetId(array $values, $sequence = null)
* @method static Builder join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false)
* @method static Builder leftJoin($table, $first, $operator = null, $second = null)
* @method static Builder orderBy($column, $direction = 'asc')
* @method static Builder orderByDesc($column)
* @method static LengthAwarePaginator paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
* @method static \Illuminate\Support\Collection pluck($column, $key = null)
* @method static Builder select(...$columns)
* @method static Builder when($value, $callback, $default = null)
* @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and')
* @method static Builder whereBetween($column, array $values, $boolean = 'and', $not = false)
* @method static Builder whereNotIn($column, $values, $boolean = 'and')
* @method static Builder whereIn($column, $values, $boolean = 'and', $not = false)
*
* @see Builder
*/
trait ModelExtendTrait
{
}
然后创建的Model就是这样的:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Horn extends Model
{
use ModelExtendTrait;
}
这样就可以实现写的时候有提示了。
如果用的方法没有,可以自己再去加
推荐文章: