我有mysql表'测试'有三列,
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 :(得分:2)
您可以实例化没有属性的模型类:
$dummy = new \App\Test;
然后你可以调用newInstance()
方法:
$attributes = ['sno' => 1, 'name' => 'Joe', 'country' => '1' ];
$desiredResult = $dummy->newInstance($attributes, true);
方法中的true
标志正在说明该实例已存在于数据库中,因此您可以继续正常使用它。现在你可以做到:
$desiredResult->country //'1'