小编Rem*_*ben的帖子

如何访问模型hasMany与where where条件?

我使用关系的条件/约束创建了一个模型游戏,如下所示:

class Game extends Eloquent {
    // many more stuff here

    // relation without any constraints ...works fine 
    public function videos() {
        return $this->hasMany('Video');
    }

    // results in a "problem", se examples below
    public function available_videos() {
        return $this->hasMany('Video')->where('available','=', 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

什么时候使用它像这样:

$game = Game::with('available_videos')->find(1);
$game->available_videos->count();
Run Code Online (Sandbox Code Playgroud)

一切正常,因为角色是最终的集合.

我的问题:

当我试图访问它而没有急切加载

$game = Game::find(1);
$game->available_videos->count();
Run Code Online (Sandbox Code Playgroud)

抛出异常,因为它表示" 在非对象上调用成员函数count() ".

运用

$game = Game::find(1);
$game->load('available_videos');
$game->available_videos->count();
Run Code Online (Sandbox Code Playgroud)

工作正常,但对我来说似乎很复杂,因为我不需要加载相关的模型,如果我不在我的关系中使用条件.

我错过了什么吗?我怎样才能确保可以在不使用预先加载的情况下访问available_videos?

对于任何有兴趣的人,我也在http://forums.laravel.io/viewtopic.php?id=10470上发布了这个问题.

laravel eloquent laravel-4

43
推荐指数
7
解决办法
8万
查看次数

Laravel 4 - 如何使用具有软删除功能的唯一验证规则/唯一列?

假设您正在尝试创建一个新用户,其用户模型(使用软删除)具有针对其电子邮件地址的唯一规则,但数据库中存在已删除的用户.

尝试验证新用户的数据时,由于现有的电子邮件,您将收到验证错误.

我在我的控制器中做了一些额外的验证,但是在模型中拥有它并不是很好吗?

您会建议创建自定义验证规则吗?

由于我现在还没有找到一个干净的解决方案,我对其他人如何解决这个问题感兴趣.

laravel laravel-4

11
推荐指数
4
解决办法
1万
查看次数

TinyMCE 4插件:无法获取tinymce.Editor.getLang()正常工作

我目前正在将TinyMCE 3.x的插件切换到新版本的TinyMCE 4.0.26.在尝试国际化我的插件标签时遇到了很多问题.

在我的plugin.js中,我通过调用加载语言包

tinymce.PluginManager.requireLangPack('myplugin');
Run Code Online (Sandbox Code Playgroud)

用我的i18n文件langs/de.js看起来像这样:

tinyMCE.addI18n('de', {
  myplugin: {
    button : 'Link einf\u00FCgen/bearbeiten',
    title : 'Link einf\u00FCgen/bearbeiten'
  }
});
Run Code Online (Sandbox Code Playgroud)

当我访问静态上下文时

tinymce.i18n.data.myplugin
Run Code Online (Sandbox Code Playgroud)

我可以看到变量按钮标题都可用.

问题:

当调用editor.getLang('myplugin.button')时,我得到{#myplugin.button}而不是相应的变量值.

在我对源代码进行了一些调查之后,我发现它希望语言代码存在于tinyMCE.i18n.data .....中,这是不可用的

getLang: function(name, defaultVal) {
            return (
                this.editorManager.i18n[(this.settings.language || 'en') + '.' + name] ||
                (defaultVal !== undefined ? defaultVal : '{#' + name + '}')
            );
        },
Run Code Online (Sandbox Code Playgroud)

@see https://github.com/tinymce/tinymce/blob/4.0.26/js/tinymce/classes/Editor.js#L1105

我做错了什么吗?有没有人为新的TinyMCE版本创建了一个插件并设法使国际化工作?

javascript jquery tinymce tinymce-4

5
推荐指数
1
解决办法
1356
查看次数

标签 统计

laravel ×2

laravel-4 ×2

eloquent ×1

javascript ×1

jquery ×1

tinymce ×1

tinymce-4 ×1