Thinkphp中的allowField方法可以智能过滤掉不属于数据表的字段,而Laravel中却并没有类似的方法,因此自己编写了一个方法用于Laravel实现类似Thinkphp中的allowField功能。
public static function allowFields($data,$table)
{
$fields = Schema::getColumnListing($table);
$pFields = array_keys($data);
$diffs= array_diff($pFields,$fields);
if(!empty($diffs)){
foreach($diffs as $v){
unset($data[$v]);
}
}
return $data;
}
使用前要先引用Schema门面,$data是要使用的数据,$table是数据表名。