2016-04-03 20 views
0

laravelにEloquentリレーションを持つカラムリストを取得したい。私はこのcommanを使用する場合 laravelにEloquentリレーションのカラムリストを取得

$columns = Schema::getColumnListing('news'); 

結果は、ニュースのテーブルのすべてのフィールドであるが、私はCategoryNewsテーブルのリレーションフィールドを取得したいです。

ニュースモデル:

public function NewsCategories() 
    { 
    return $this->belongsTo('App\CategoryNews'); 
    } 

CategoryNewsモデル:

public function News() 
    { 
    return $this->hasMany('App\News'); 
    } 
+0

"news"から "news_categories"に変更することはできません。 –

+0

いいえ私はすべての関係と動的を取得します。これは手動です – paranoid

答えて

1

あなたはこのような何かを行うことができるはず:

あなたのために、関連するオブジェクトを取得している getRelated()メソッドを使用して
$columns = Schema::getColumnListing($news->NewsCategories()->getRelated()->getTable())); 

関係(あなたの場合はそれはApp\CategoryNewsです)そして今すぐメソッドgetTable()を呼び出すと、このモデルのテーブル名を取得できます。このテーブル名はgetColumnListing()メソッドに使用できます。

+0

ありがとうございましたこの投稿を表示https://stackoverflow.com/questions/36257730/laravel-5-2-does-not-show-errors-in-register – paranoid

関連する問題