我即将开始学习Ruby,并想要一些阅读材料来帮助我.
我在Ruby上寻找你的前5个博客,新闻和任何(活跃的)公告板(我可以处理新闻组,但我更喜欢在BB中阅读).
谢谢,
我在翻译此查询以使用ZF时遇到一些问题Zend_Db_Select
:
SELECT b.id, b.title, b.description
FROM memberships AS m
JOIN blogs AS b ON b.id = m.blog_id
WHERE m.user_id = ?
ORDER BY m.created
LIMIT 0, 30
Run Code Online (Sandbox Code Playgroud)
(此查询有效并返回结果)
Memberships
是blogs
和之间的链接表users
.这是一件简单的| id | blog_id | user_id |
事情.
这是我到目前为止所拥有的:
// $table = Zend_Db_Table instance, $id = a user id
$select = $table->select()
->from(array('m' => 'memberships'), array('b.id', 'b.title', 'b.description'))
->join(array('b' => 'blogs'), 'b.id = m.blog_id')
->where('m.user_id = ?', (int) $id)
->order('m.created DESC')
->limit(0, 30);
Run Code Online (Sandbox Code Playgroud)
这是我得到的(奇怪的(对我而言)错误: …
我一直在思考我即将开始开发的网络应用程序,并想知道我的常用方法是否可以改进.
我在去年的一些应用程序,我创建的角色(如表(见下文)CREATE POST
,EDIT POST
等),每个都应用了一个位域,所以我可以简单地分配用户的某些权利的登记和检查他们以后(如$user->hasRight(CREATE_POST)
).
我想知道是否有更好的方法.当权利没有明确地链接到用户时,我肯定会感到困惑(我可以有一个表,其中每个权利都是一个布尔列,但这听起来只是一个很小的改进) - 如果我改变一些,会发生什么?
我不打算使用标准库(应用程序本身对我来说是一种学习体验:使用postgresql,git等)虽然我很乐意从他们那里获取灵感来构建我自己的 - 所以如果有什么特别的你认为我应该看看请说出来:)
Postgres中的模式和表名称区分大小写.如何在docblock注释中指定正确的模式,以便它们不会转换为小写?
这些都不起作用:
@Table(name="MySchema.MyTable") // gets converted to lowercase
@Table(name="`MySchema`.`MyTable`") // invalid table
@Table(name="`MySchema.MyTable`") // also invalid table
Run Code Online (Sandbox Code Playgroud)
Doctrine ORM是2.0.4
在文档中也没有关于模式的说法,只发现不再支持模式参数/关键字.
在我的剧本中,我运行一个执行脚本的local_action并存储该值以供将来使用:
- local_action: command python release.py
register: release_url
Run Code Online (Sandbox Code Playgroud)
这很有效,直到我将我的剧本移动到子目录中.事实证明,该命令从您当前的工作目录(您运行ansible)运行,因此路径需要如下所示:
- local_action: command python roles/ghost/release.py
Run Code Online (Sandbox Code Playgroud)
我有一个目录结构如下:
但是,角色/ ghost文件夹名称可以更改(并且硬编码这将不允许您从另一个目录运行该playbook).
如何获取tasks/main.yml的目录路径(发出local_action命令),所以我可以给它一个相对路径?
我正在开发一个需要使用SQLite数据库的应用程序.我已经实现了获取数据,但是当我尝试插入数据时,我遇到了问题.我遇到的问题是我输入的新数据没有存储,即没有新内容输入到数据库中.
这是我的插入代码,myDataBase
是SQLiteDatabase的一个实例.
public void insertTitle(String Recipe)
{
ContentValues initialValues = new ContentValues();
initialValues.put(COLUMN_NAME,value);
myDataBase.insert(ZRECIPE, null, initialValues);
}
Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题.这是错误消息:
调用未定义的方法 MyProject\BlogBundle\Entity\Blog::findOneById()
我已经设置了映射,实体类是使用控制台创建的,我已经更新了数据库中的模式.可能导致此问题的原因是什么?
我正在使用symfony2.这是一行:
$blogRepo = $this->get('myproject.blog.repository.blog');
$blog = $blogRepo->findOneById($id);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我在路径中的可选约束存在问题,该路径在其子项中是非可选的.我的路由结构如下:
'profile' => [
'type' => 'segment',
'options' => [
'route' => '/profile[/:id]',
'constraints' => ['id' => '[0-9]*'],
'defaults' => [
'controller' => 'User\Controller\User',
'action' => 'profile'
]
],
'may_terminate' => true,
'child_routes' => [
'sessions' => [
'type' => 'literal',
'options' => [
'route' => '/sessions',
'defaults' => ['action' => 'sessions']
]
]
]
]
Run Code Online (Sandbox Code Playgroud)
在我看来应该给我以下路线:
/profile
- 工作/profile/123
- 工作/profile/sessions
- 不起作用/profile/123/sessions
- 工作当我在URL视图助手中使用路由3时,我收到以下错误:
$this->url('profile/sessions');
Run Code Online (Sandbox Code Playgroud)
Zend\Mvc\Router\Exception\InvalidArgumentException
:缺少参数"id"
我原来[0-9]+
作为我的约束,但使它成为可选(*
)似乎没有帮助.以前有没有人遇到这个案子?
我有一个Laravel项目,我想使用自己的fork(已经合并了几个pull-requests).以下composer.json按预期工作(它从我的repo中获取master分支):
{
"repositories": [
{
"type": "vcs",
"url": "http://github.com/rmasters/framework"
}
],
"require": {
"php": "5.4.*",
"laravel/framework": "dev-master"
},
...
"minimum-stability": "dev"
}
Run Code Online (Sandbox Code Playgroud)
但是,当我添加一个依赖于Laravel提供的Illuminate组件的软件包时(例如,zizaco/entrust
它需要与我的fork提供的版本相同),我最终会得到这样的结果:
- 安装gexge/laravel-framework(4.0.x-dev 87556b2)
- 从缓存中读取.../Composer/cache/files/gexge/framework/87556b ..... c382.zip
- 从缓存加载
提取档案
原因:zizaco /委托dev-master需要照亮/支持4.0.x - >可满足
- laravel/framework [v4.0.5,v4.0.4,v4.0.3,v4.0.2,v4.0.1,v4.0.0-BETA4,v4.0.0-BETA3,v4.0.0-BETA2,v4.0.0,4.0.x-开发]
- gexge/framework [4.0.x-dev,v4.0.0,v4.0.0-BETA2,v4.0.0-BETA3,v4.0.0-BETA4,v4.0.1,v4.0.2,v4.0.3,v4.0.4,v4. 0.5],
- shrimpwagon/laravel-framework [4.0.x-dev,v4.0.0,v4.0.0-BETA2,v4.0.0-BE TA3,v4.0.0-BETA4,v4.0.5],
- 照亮/支持 [4.0.x-dev,v4.0.0,v4.0.0-BETA2,v4.0.0-BETA3,v4.0.0-BETA4,v4.0.1,v4.0.2,v4.0.3,v4.0.4,v4. 0.5].
这实际上最终安装了我的fork和这个fork,gexge fork在自动加载器中占优势.
有没有办法让依赖关闭拿起我的分叉而不是试图找到另一个?我的fork有相同的包名(composer.json尚未更改) - 所以我认为这样可行.
或者,我可以阻止某些包被选中吗?(我还没有找到任何这方面的文档.)令人讨厌的是,这两个分叉似乎都没有太多理由在Packagist上,但我想Composer应该可以解决这个问题.
我有一个名为data.php的脚本,如下所示:
/* do some stuff */
echo $result;
/* do some other stuff (eg database operations) */
Run Code Online (Sandbox Code Playgroud)
我需要在另一个脚本中使用data.php的输出,但我不希望调用者脚本等到data.php完成.
最简单的方法是什么?
提前致谢!
php ×5
doctrine-orm ×2
acl ×1
android ×1
ansible ×1
blogs ×1
composer-php ×1
laravel ×1
laravel-4 ×1
orm ×1
ruby ×1
sqlite ×1
symfony ×1
zend-route ×1