laravel - 如何为 eloquent 模型赋予别名

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/43865962/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 15:55:52  来源:igfitidea点击:

laravel - how to give alias name to eloquent model

laraveleloquent

提问by jagadish

<?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();

I want to avoid Using table name all time instead i want to use alias name.

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

回答by Sander Visser

You can use the Model::frommethod for this

您可以使用该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();