1
似乎每個人都在問如何將Query \ Builder轉換爲Eloquent \ Builder。我需要相反的 - 我有一個模型與一些範圍定義,我創建一個查詢。它返回的結果是我的模型的一個實例。我希望它是一個普通的對象。將Eloquent Builder轉換爲查詢生成器
獲取模型和轉換爲stdClass對我來說似乎不正確。
這可能嗎?
似乎每個人都在問如何將Query \ Builder轉換爲Eloquent \ Builder。我需要相反的 - 我有一個模型與一些範圍定義,我創建一個查詢。它返回的結果是我的模型的一個實例。我希望它是一個普通的對象。將Eloquent Builder轉換爲查詢生成器
獲取模型和轉換爲stdClass對我來說似乎不正確。
這可能嗎?
是的。您可以使用Eloquent查詢構建器構建查詢,但您可以使用基本查詢構建器實際執行查詢,該構建器將返回stdClass對象。
下面是一個例子。顯然你可以把所有這些東西連成一條線,但我把它分成多行來解釋發生了什麼。假設你有一個active()
範圍您User
型號:
// start an eloquent query but don't execute it yet
$query = User::active();
// add any other conditions...
// get the base builder for the eloquent builder
$baseQuery = $query->getQuery();
// will return a standard array of stdClass objects
$users = $baseQuery->get();
又如只返回一個對象:
// will return a stdClass object
$user = User::active()->getQuery()->first();
要知道,雖然,你失去口才查詢功能,如人際關係和急切的加載。
例如:
$user = User::with('posts')->active()->getQuery()->get();
這將不運行的職位爲用戶查詢和職位將不連接到stdClass的對象返回。
太簡單了。謝謝! – Okneloper