2016-05-23 138 views
1

我有mysql表「測試」有三列,將數組以雄辯的模型Laravel

1.sno 2.name 4.country 

這段代碼是很容易理解

$person = \App\Test::find(1); 
$person->country;   //Defined in Test eloquent model 

現在我想做的事情是這樣的:

$p = ['sno' => 1, 'name' => 'Joe', 'country' => '1' ]; 
$p->country;  //Return relevent column form countries table as defined in Model 

要記住的事情是,我試圖映射的用戶已經存在於數據庫表中。如何將數組轉換爲雄辯的模型?

+0

您可以使用模型的'補()'方法來該數組轉換爲填充模型 –

+0

我不是來填充,我試圖地圖... – Eirtaza

+0

可以ü請舉例 – Eirtaza

回答

1

那麼你可以用模型類,沒有屬性:

$dummy = new \App\Test; 

然後你就可以調用newInstance()方法:

$attributes = ['sno' => 1, 'name' => 'Joe', 'country' => '1' ]; 
$desiredResult = $dummy->newInstance($attributes, true); 

true標誌的方法是告訴雄辯的實例已存在在數據庫中,所以你可以繼續使用它。現在,你可以這樣做:

$desiredResult->country //'1' 
+0

以及如果我有一個包含多個$屬性(數組數組)的數組。我將如何實例化它們都沒有迭代,所以我可以這樣做$ desiredResult-> firstI() - >國家; – Eirtaza