我正在使用Slim3和Eloquent构建一些API应用程序作为模型的ORM,并且有一些奇怪的问题。
当我保存模型时,我收到内部服务器错误,并且根本无法捕获错误。 我的模型只有两列,id pk自动增量和名称(字符串255) 这是我的解决方案:
型号:
class Version extends Illuminate\Database\Eloquent\Model
{
protected $table = 'version';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name'];
protected $hidden = ['id'];
}
动作:
public function create(RequestInterface $request, ResponseInterface $response)
{
$params = $request->getParsedBody();
$class = $this->model; //fully namespaced class name
$model = new $class();
$model->fill($params);
return $model->save() ?
$this->success($response, "{$this->getModelName()} successfully saved.") :
$this->error($response, $model->errors());
}
我经理将问题本地化到Illuminate\Database\Eloquent\Builder
行#1242
if (in_array($method, $this->passthru)) {
return call_user_func_array([$this->toBase(), $method], $parameters);
}
但我不知道出了什么问题
编辑:
我使用PHP/7.0.0-dev
和Slim 3.1
Eloquent PHP 7兼容吗?
答案 0 :(得分:0)
您的模型是一个雄辩的模型,因此要创建您可以使用以下代码
$version = App\Version::create(['name' => 'Your version name']);
这将删除所有不必要的功能,并保持清洁代码。
在您的情况下,请确保$ request-> getParsedBody(); 返回Eloquent使用它的正确格式。