我有一个名为UserCommission的数据库表,下面为我做了一个雄辩的模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class UserCommission extends Model
{
protected $connection = 'sqlsrv';
protected $table = 'UserCommission';
}
现在,在我的控制器中,我有很多要添加到该表中的信息。我首先将其放入如下所示的集合中:
$returnData = new Collection();
foreach ($datePeriod as $key => $date)
{
foreach ($consultants as $consultant)
{
$year = (int) $date->format('Y');
$month = (int) $date->format('n');
$commission = new UserCommission();
$commission->userId = $consultant['UserId'];
$commission->year = $year;
$commission->month = $month;
$commission->commissionPercentage = Self::getCommissionPercentage($consultant['UserId'], $consultant['CreatedOn'], $consultant['RoleId'], $date);
$returnData->push($commission);
}
}
因此,当我打印出返回数据时,它会打印出一个集合,该集合中填充了正确的项,其属性与表字段匹配。我找不到如何将其保存到表中。
我试过了
$returnData->save();
但这不是收集功能。
如果要一次全部插入它们,则可以绕过Collection而是执行以下操作:
$commissions = [];
foreach ($datePeriod as $key => $date)
{
foreach ($consultants as $consultant)
{
$year = (int) $date->format('Y');
$month = (int) $date->format('n');
$commissions[] = [
'userId' => $consultant['UserId'];
'year' => $year,
'month' => $month
'commissionPercentage' => Self::getCommissionPercentage($consultant['UserId'], $consultant['CreatedOn'], $consultant['RoleId'], $date);
];
}
}
由于insert()
可以接受要插入的数据数组,因此现在可以进行以下操作:
UserCommission::insert($commissions);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句