class SampleELoq extends Model
{
use SoftDeletes;
public function conditionFields() {
return $this->belongsToMany('App\EloquentModel\ConditionField');
}
}
nameSpace是SampleELoq的名称空间
$Eloq = $nameSpace::find(1);
$table = with(new $nameSpace->conditionFields)->getTable();
print_r(Schema::getColumnListing($table));
我怎样才能获得conditionFields的表名?
答案 0 :(得分:1)
在努力挖掘之后我找到了解决方案。它可以像这样实现。
$tableName = (new SampleELoq)->conditionFields()->getTable();
一般
$tableName = (new MODELCLASS)->RELATIONSHIP()->getTable();
答案 1 :(得分:1)
要从conditionFields获取表,您需要返回关系模型,然后可以通过getTable方法获取表。 这样的人
Model::first()->conditionFields()->getRelated()->getTable()
答案 2 :(得分:0)
你有两种方法: -
dd(Model::$table);
或在您的模型中: -
dd($this->table());
答案 3 :(得分:0)
您不必像Catain Fail的答案那样从数据库中检索模型:在任何情况下都可以获取相关的表名,如下所示:
$relation = (new MyModel)->myRelationship(); // Returns a Relations subclass like BelongsTo or HasOne.
$relatedModel = $relation->getRelated(); // Returns a new empty Model
$tableName = $relatedModel->getTable();
或者简而言之:
$tableName = (new MyModel)->myRelationship()->getRelated()->getTable();