Laravel,如何将对象投射到新的口才模型?

koa*_*aok 5 post laravel eloquent

我通过请求Json对象获得。我清楚地解析了该对象,以检查它是否适合目标模型。

而不是按属性分配属性。有没有一种快速方法用传入的对象填充模型?

Pau*_*aul 5

只需将转换为数组的对象作为模型构造函数参数传递即可

$model = new Model((array) $object);
Run Code Online (Sandbox Code Playgroud)

在内部,这使用fill()方法,因此您可能首先需要将传入属性添加到$fillableproperty 或首先创建模型,然后使用forceFill().


Mar*_*ean 5

如果您有一个数组数组,则可以使用该hydrate()方法将其强制转换为指定模型的集合:

$records = json_decode($apiResult, true);

SomeModel::hydrate($records);
Run Code Online (Sandbox Code Playgroud)

如果只有一条记录,则可以将该数组传递给模型的构造函数:

$model = new SomeModel($record);
Run Code Online (Sandbox Code Playgroud)