我正在使用laravel(Laravel 4)设置一个新的应用程序,并且在通过迁移设置数据库时遇到一些问题.
我制作了一个迁移文件:
artisan migrate:make --table="jobs" --create jobs
Run Code Online (Sandbox Code Playgroud)
它按照预期在数据库/迁移中创建了一个文件,我为此做了一些修改,然后使用它来启动它
artisan migrate --env=local
Run Code Online (Sandbox Code Playgroud)
但是我收到了回复 "Nothing to migrate"
如果我尝试不运行--env=local,它使用我们不想使用的config文件夹(不在本地/ staging/production文件夹中)中的database.php,因为它不是特定于环境的.
我的第一个想法是好的,也许我需要在migrate:make调用上放置env标志,所以我尝试了,但是得到一个错误,说它无法创建迁移文件.然后我认为无论如何都要进行基于env的迁移是没有意义的...它们应该是通用的,并且只是基于每个env运行,所以最后,所有环境都使用相同的迁移脚本.
所以我现在有点卡在这里去哪里
有没有人知道从PHPSpec测试生成覆盖率报告的方法?
我想过xdebug,但据我所知它无法为jenkins生成报告.
这个问题适用于我用PHP编写的pastebin应用程序.
我做了一些研究,虽然我找不到符合我需求的解决方案.我有一个这种结构的表:
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(12) unsigned | NO | PRI | NULL | auto_increment |
| author | varchar(50) | YES | | | |
| authorid | int(12) unsigned | YES | | NULL | |
| project | varchar(50) | YES | | | |
| timestamp | int(11) unsigned | NO | | NULL | |
| expire | int(11) unsigned …Run Code Online (Sandbox Code Playgroud) 在 Java 游戏服务器代码中,我将客户端数据拆分为许多表,以便将来轻松添加新内容。
现在我有下表
该name表包含列id和name。
该auth表有列id和password。
和表id上的列对的列有外键约束。authinventorynameid
创建新客户端时,我会在单独的插入语句中插入name表,获取生成的 id 并将其余数据插入其他表中,但所有这些都在单个事务中进行。
问题是,当我插入表时auth,由于外键签入而失败,name因为我尚未提交它。有没有更好的方法来解决这个问题,而无需每次插入都进行提交?
我在这个具有这种结构的Laravel项目中工作
用户:id | first_name | ...
角色:id | 名称
assigned_roles:id | user_id | ROLE_ID
我认为这很明显:p
用户模型
class User extends ConfideUser {
use HasRole;
public function Roles(){
return $this->belongsToMany('Role','assigned_roles');
}
Run Code Online (Sandbox Code Playgroud)
榜样
class Role extends EntrustRole
{
public function Users()
{
return $this->belongsToMany('User','assigned_roles');
}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来让所有具有指定角色的用户在这种情况下"教师".我试过这个:
$students = User::with(array('Roles' => function($query) {
$query->where('name','Teacher');
}))
->get();
return $students;
Run Code Online (Sandbox Code Playgroud)
但这总是返回所有用户的数组.
有人会知道为什么会这样吗?谢谢!
我正在寻找关于什么是与多位作者存储书籍的最佳方式的建议.目前我有它像BookID,标题,作者,年,(等等),但我被问到如果一本书有多个作者,我想在数据库中搜索另一位作者的书.像BookID,Title,Author,Author1,Author2,Autho3r,Author4,Year一样愚蠢,大多数时候,author1之后的任何东西都是null.
我知道我刚解释的内容可能令人困惑,但最好的方法是存储多个不同数量的作者.
谢谢
我只是注意到了<p>外面的div ,所以"你想要接收......"在里面<p>,然后在div之后有一个空的<p></p>,而不是一切都在里面<p>
有人在这看到一个错误?
<p class="subs1">
Do you want to receive our emails and new collection previews?
<div style="" class="styledRadio first_radio">
<input type="radio" value="yes" name="user[collection_previews]" style="display: none;">
</div>
Yes
<div style=" width: 20px; height: 20px; cursor: pointer; background-position: 0px 0px;" class="styledRadio">
<input type="radio" value="no" name="user[collection_previews]" style="display: none;">
</div>
No
</p>
Run Code Online (Sandbox Code Playgroud)
整个事情应该在subs1 p内,但事实并非如此
我正在尝试使用代码验证进行验收测试.
我的一项测试有以下内容:
<?php
use Codeception\Util\Stub;
class SomeTest extends \Codeception\TestCase\Test
{
protected $webGuy;
/**
* @test
*/
public function incorrect_login_should_redirect_back()
{
$I = $this->webGuy;
$I->wantTo('fail at logging in');
$I->amOnPage('/'); // <-- This is the line that is failing
$I->fillField('email','info@tntstudio.hr');
$I->fillField('password','pass');
$I->click('Login');
$I->see('email', 'input');
$I->seeCurrentUrlEquals('/login');
}
}
Run Code Online (Sandbox Code Playgroud)
最初测试运行正常,但是在添加Laravel4到acceptance.suite.yml文件并运行之后build,测试现在失败,并显示以下内容:
1) SomeTest::incorrect_login_should_redirect_back
Symfony\Component\HttpKernel\Exception\NotFoundHttpException:
#1 /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1021
#2 /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Routing/Router.php:989
#3 /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Routing/Router.php:968
#4 /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:738
#5 /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:708
#6 /Applications/MAMP/htdocs/hired/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php:81
#7 /Applications/MAMP/htdocs/hired/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Client.php:325
#8 /Applications/MAMP/htdocs/hired/app/tests/acceptance/WebGuy.php:476
#9 /Applications/MAMP/htdocs/hired/app/tests/acceptance/SomeTest.php:16
Run Code Online (Sandbox Code Playgroud)
我正在使用vagrant在虚拟环境中运行我的应用程序 http://localhost:3030/
我已将此设置为PhpBrowser配置的URL, …
为什么以下不输出我期望的数据?
class student
{
private $name;
private $id;
public function _construct($name,$id)
{
$this->name = $name;
$this->id = $id;
}
public function getName()
{
return $this->name;
}
public function getID ()
{
return $this->id;
}
}
$mhs = new student("budi","152012102");
echo "name = ".$mhs->getName();
Run Code Online (Sandbox Code Playgroud)
我不知道发生了什么事,有帮助吗?
php ×7
laravel ×5
laravel-4 ×3
mysql ×3
eloquent ×2
chef-infra ×1
codeception ×1
composer-php ×1
css ×1
database ×1
foreign-keys ×1
html ×1
java ×1
jenkins ×1
phpspec ×1
revisionable ×1
roles ×1
schema ×1
sql ×1
transactions ×1
unit-testing ×1