laravel - 如何为eloquent模型提供别名

jag*_*ish 3 laravel eloquent

<?php

namespace App\Http\Models;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Mappable;

class User extends Model
{
    use Eloquence, Mappable;

    public $id;
    public $name
}


$data= User::select('distinct User.name')->join('Member as m','User.id','m.userId')->whereRaw('User.name is not null')->get();
Run Code Online (Sandbox Code Playgroud)

我想避免一直使用表名,而是想使用别名.

San*_*ser 7

您可以使用此Model::from方法

class User extends Model
{
  use Eloquence, Mappable;

  public $id;
  public $name
}
$data= User::from('User as u')
         ->select('distinct u.name')
         ->join('Member as m','u.id','m.userId')
         ->whereRaw('u.name is not null')
         ->get();
Run Code Online (Sandbox Code Playgroud)

  • 但不适用于软删除. (2认同)