【问题标题】:Laravel 4 - Getting a subset of model attributesLaravel 4 - 获取模型属性的子集
【发布时间】:2014-04-04 09:09:40
【问题描述】:

我有这个 laravel 模型方法调用:

$entry = self::firstOrCreate(array('url' => $url, 'version' => $version));

但它有一个问题:其中一列是 TEXT 列,它可以容纳我不需要的非常大的数据(在这种情况下)。

我需要什么:一种无需加载内容 (TEXT) 数据即可加载或创建此模型的方法。

问题:有没有我可以使用的模型方法,或者我缺少的参数?

【问题讨论】:

    标签: php laravel-4 eloquent


    【解决方案1】:

    不使用firstOrCreate,因为您需要发出一些自定义选择。我建议使用firstOrFail,捕获异常然后创建一个新模型。

    $payload = compact('url', 'version'); // Build an associative array out of the variables.
    
    try
    {
        $entry = Model::where('url', $url)->where('version', $version)->firstOrFail(array_keys($payload));
    }
    catch (Illuminate\Database\Eloquent\ModelNotFoundException $e)
    {
        $entry = Model::create($payload);
    }
    

    【讨论】:

    • 是的……这是我的后备方案。编辑您的答案,因为您有一点语法错误(catch 之前缺少大括号)。
    猜你喜欢
    • 2013-08-08
    • 2017-06-10
    • 2021-11-19
    • 2016-02-04
    • 2017-02-20
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多