php - 类型提示 Eloquent 模型

标签 php laravel eloquent type-hinting

我正在尝试编写好的代码,其中一部分是类型提示,以便更轻松地完成工作并强制执行期望。

这可能看起来有点做作,但对我来说更像是一个概念证明。

我正在编写一个类来获取在选项卡上拆分的 TSV 文件并插入到我的模型中。在我的构造函数中,我要求:

Illuminate\Database\Eloquent\Model

我通过的:

new \App\Model()

最后是错误响应:

instance of App\Model given

显然我做错了什么,但我不想强制使用 App\Model,我怎么能笼统地要求一个 Eloquent 模型?

编辑更多信息:

为了更清楚,我使用的是 Laravel 5,模型是通过 artisan make:model 创建的。构造函数如下:

function __construct ($resource, Illuminate\Database\Eloquent\Model $model, $skip = 0)

我正在使用的模型(用于我的电影 table )是:

use Illuminate\Database\Eloquent\Model;

class Movie extends Model {

最佳答案

在您的类型提示中,在 FQCN 前加一个反斜杠:

function __construct ($resource, \Illuminate\Database\Eloquent\Model $model, $skip = 0)

或者,或者将 use 语句添加到您的类中:

use Illuminate\Database\Eloquent\Model;

class MyClass {
    function __construct ($resource, Model $model, $skip = 0) {
        //
    }
}

关于php - 类型提示 Eloquent 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405924/

相关文章:

php - Laravel 插入嵌套 Eloquent ORM 模型

php - 具有多个条件的搜索表单,Symfony2

php - 捕获数组组合警告并打印自己的错误消息?

php - 使用 hasColumns laravel 更改数据库表

javascript - 如何修复日期选择器调整大小响应问题?

laravel addSelectRaw() - 如何在 addSelect() 中绑定(bind)变量?

php - Laravel 从父类别及其所有子类别中获取所有产品

php - AddType application/x-httpd-php .php 不呈现 PHP

php - 您如何自定义格式化 html 标记 MySQL 字段中的第一个单词/字符?

node.js - 在 nodejs socket.io 中显示连续连接消息