2016-11-04 133 views
1

簡單問題在這裏: 在laravel 5.3中,我將如何從數據庫表中提取註釋?有沒有一種乾淨的方式來使用laravel提供的一些開箱即用的功能?Laravel 5.3從數據庫表的字段中提取註釋

預先感謝您。

+1

如果您剛開始使用laravel,那麼請通過官方文檔。 https://laravel.com/docs/5.3/eloquent – Saurabh

+0

雖然雄辯是強大的,但它引用了這個文檔https://laravel.com/docs/5.3/migrations#creating-columns,它也引用'作曲家需要教條/ dbal 」。經歷了doctrine/dbal的內部結構後,你會發現有更多的方法可以讓你與數據庫中的表格結構進行交互,而不是雄辯。雖然實施可以在效率方面帶來所有差異,但下面提供的答案是展示一種方法來抓住他所期待的。 –

回答

0

據我所知,Laravel 5.2-5.3帶有一個名爲doctrine的內置包,它允許您在數據庫中進行更多的交互,而且它的表格比雄辯更有效。我相信框架成員最終會增加更多的系統,所以你可以更動態地使用數據庫和表等。

暫時這是我如何實現訪問數據庫表的結構(包含註釋) :

$settings = SomeModel::where($items_match)->get(); //Making use of Eloquent 

$columns = DB::connection('database_name_here') 
      ->getDoctrineSchemaManager() 
      ->listTableDetails('table_name_here'); 

foreach ($settings as $key => $value) { 

      if ($comments[$key] = $columns->getColumn($key)->getComment()) { 

      } 
     } 

它相當乾淨,完成工作。我看到的唯一不足就是它對數據庫的雙重打擊,我完全反對,我正在努力將laravel中的2個實現結合起來,這樣只有1個查詢執行這兩個任務。

+1

這也會讓我獲得其他信息嗎?像字段數據類型?? – JellyFish

+0

是的,你可以。如果你使用的是崇高的文本2或3,你應該能夠突出顯示「getComment」方法,右鍵單擊它,然後選擇「Go To Definition」,你將能夠找到方法所在,瀏覽所有其他公共函數方法,可以在特定的數據庫表中爲您提供您正在查找的訪問權限。 –

+1

從我看到它看起來雄辯是主要用於數據和模型操作,這可能是爲什麼他們納入使用這個教義包給予數據庫結構訪問? – JellyFish

相關問題