小编eim*_*hat的帖子

在PhoneGap中与服务器同步数据的策略

我正在使用AngularJS开始我的第一个PhoneGap项目.它是一个数据库驱动的应用程序,使用REST API作为后端.首先,我根本不打算在本地存储数据,因此没有Internet就不会有太大的作用.

但是,我最终希望它能在本地存储数据,并在互联网可用时同步,因为我知道我个人有时会禁用手机上的互联网连接(飞机,电池电量不足),或者没有酒吧.我想知道你是否可以指出我为这种类型的同步提供一些好的资源.一些推荐的库?或者也许是对陷阱的讨论以及如何环绕它们.我用谷歌搜索了一下,但我想现在,我不知道要问的问题.

此外,我打算先建立互联网依赖,然后添加同步....这是一个好主意,还是我在脚下拍摄自己?我是否需要从一开始就建立同步?

我有人建议首先将应用程序构建为仅限本地的应用程序,而不是仅限于Internet的部分,它具有一定的逻辑性.远程存储对我来说很重要.我知道决定与我的应用目标有很大关系,但从建立这个目标的角度来看,最终的目标是本地存储+互联网存储,以及双向同步,哪些更容易?或者它甚至有所作为?

首先,我正在考虑使用UUID,而不是顺序整数主键.我还想过为每个设备分配一个ID,该ID在它生成的任何键上都有前缀,但这看起来很精致.有人使用过哪种技术?思考?

我想我需要一个好的系统来判断哪些数据已被同步.在客户端,我猜任何创建/编辑的记录都可以标记为同步.但是在服务器端,您有多个客户端,因此不起作用.我想你可以有一个last_updated时间戳,并同步所有更新同步上次成功同步.

在多个地方编辑的记录怎么样?如果两个客户端编辑,然后想要同步,则有一些关于合并的歧义,比如在git或其他版本控制系统中合并分支时.你怎么处理?我想git通过存储每个提交的差异来做到这一点.我想你可以存储差异?我想的越多,听起来就越复杂.我是在过度思考还是在思考它?

客户端存储怎么样?我已经考虑过SQLite或PhoneGap本地存储(http://docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html).建议?同步将通过REST API,交换JSON,所以我在想一些实际上将数据存储为JSON的东西,或者类似JSON的东西,它很容易转换,会很好.另一方面,如果我不得不交换某种数据差异格式,也许这就是我需要存储的东西?

synchronization angularjs cordova

31
推荐指数
1
解决办法
2万
查看次数

Laravel形式模型绑定

我一直在阅读这个功能:http://laravel.com/docs/html#form-model-binding

它看起来很整洁,但有几件我不确定的事情.

我是否需要在控制器操作中放置任何代码来处理此表单?那是什么样的?

我想在我的表单中绑定的模型(用户)有一个单独的地址表.所以我希望能够填写用户模型的字段,还能填写相关地址模型的字段.我可以使用表单模型绑定来执行此操作,还是必须手动处理表单?

或者,如果不这样做,我可以对用户字段使用表单模型绑定,但是手动处理地址字段吗?

php forms laravel eloquent laravel-4

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

阐明如何在Laravel的Eloquent ORM中建立一对多的关系

好的,我正在通过Laravel 4文档来设置两个模型之间的一对多关系.显然,一方应该使用hasMany().但对于另一方,我应该使用hasOne还是belongsTo?有关系吗?有什么区别?为什么两者都存在?

我曾经认为hasOne将是一对一的关系,而且属于一对多的一方.但是在文档中,要在此处插入相关模型:

http://laravel.com/docs/eloquent#inserting-related-models

他们正在使用save()它似乎只存在于hasOnehasMany关系中,而不是在belongsTo.它看起来像belongsTo使用associate()了相同的目的:

https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php#L188

也许我只需要一些关于何时使用belongsTovs.的一般背景hasOne,以及为什么在belongsTo使用associate()hasOne使用save().

编辑:我想我的困惑点是在文档(http://laravel.com/docs/eloquent#inserting-related-models)中,他们使用了:

$post->comments()->save($comment);
Run Code Online (Sandbox Code Playgroud)

我会用到的地方:

$comment->post()->associate($post);
Run Code Online (Sandbox Code Playgroud)

这种或那种方式有优势吗?或者它只是一个在上下文中有意义的问题?

php orm laravel eloquent laravel-4

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

如何将HTML选择绑定到Rivets.JS中的模型值?

我正在尝试将Rivets.JS集成到我的应用程序中.我正在获取页面中基本表单输入和常规数据的绑定值,但我无法弄清楚如何使用Rivets处理选择drop(向下菜单).

我可以使用每个标记构建一个select,就像在这个JSFiddle中一样:http://jsfiddle.net/eimajenthat/94ca1xht/

但是我想将菜单中的选定值绑定到模型值(在我的小提琴中,我会将truck.job_id绑定到选择中).

这是我的JS:

$(document).ready(function(){
    window.view = rivets.bind($('#contentWrap'),{
        truck:{id:1,job_id:3},
        jobs:[
            {id:1,job_number:'thing1'},
            {id:2,job_number:'thing2'},
            {id:3,job_number:'thing3'},
            {id:4,job_number:'thing4'},
        ]
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我的HTML:

<div id="contentWrap">
    <select>
        <option rv-each-job="jobs" rv-value="job.id">{ job.job_number }</option>
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

奖励积分:我的应用程序中的所有选择元素都使用Chosen进行了扩充.这意味着每当我通过JavaScript更改选项或选择时,我都需要触发Chosen的更新,以便用户查看它,如下所示:

$('#my-select').trigger('liszt:updated');
Run Code Online (Sandbox Code Playgroud)

每当用于选项的模型(我的小提琴中的作业)被更新,或者select(trucks.job_id)的值被更新时,我如何触发上面的代码?

javascript jquery html-select jquery-chosen rivets.js

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