我已经按照这里的教程为laravel构建验证服务.我试图从我的一个控制器调用验证器时遇到问题.我看到了错误:
validController cannot use Portal\Service\Validation\Laravel\AppInstancesValidator - it is not a trait
这是我的控制器:
class validController extends BaseController {
use \Portal\Service\Validation\Laravel\AppInstancesValidator;
public function validateInstance() {
$post = Input::all();
$instVal = new AppInstancesValidator( App::make('validator'));
return $instVal->with($post)->passes();
}
}
Run Code Online (Sandbox Code Playgroud)
和我的验证员:
namespace Portal\Service\Validation\Laravel;
use Portal\Service\Validation\ValidableInterface;
class AppInstancesValidator extends LaravelValidator implements ValidableInterface {
protected $rules = array(
'app_name' => 'required',
'app_instance_name' => 'required',
'app_instance_ip' => 'required|ip'
);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试为Ruby安装pg(PostreSQL)gem.我收到此错误:
postgres/9.2-pgdg/bin/64/pg_config
Using config values from /location/to/install/postgres/9.2-pgdg/bin/64/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... yes
checking for PQconnectionUsedPassword()... no
Your PostgreSQL is too old. Either install an older version of this gem or upgrade your database.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Run Code Online (Sandbox Code Playgroud)
PostgreSQL版本:postgres(PostgreSQL)9.2.3
OS:solaris 10 …
我有许多不同的位置插入和更新我的数据库的方式,我希望能够trim()在插入数据库之前输入用户.我知道在模型中我可以做类似下面的事情,但我不想为每个领域做这件事.有没有办法设置适用于所有字段的通用setter?
例:
public function setSomFieldAttribute($value) {
return $this->attributes['some_field'] = trim($value);
}
Run Code Online (Sandbox Code Playgroud) 我是迁移的新手,并试图创建两个带有外键的表,其中一个引用另一个中的id,但是我一般都无法添加键错误.有什么我想念的吗?
错误:
[PDOException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
码:
Schema::create('app_groups', function($table) {
$table->increments('id');
$table->string('app_name');
$table->unsignedInteger('app_group_id');
$table->timestamps();
});
Schema::create('app_to_bucket', function($table) {
$table->increments('id');
$table->unsignedInteger('app_group_id');
$table->unsignedInteger('bucket_id');
$table->timestamps();
});
Schema::table('app_to_bucket', function($table) {
$table->foreign('app_group_id')->references('app_group_id')->on('app_groups')->onDelete('cascade');
});
Run Code Online (Sandbox Code Playgroud) 嗨我已经尝试了很多选项来检查我的选择框中是否设置了多个属性,但没有一个有效.我试图确定我获得值的当前选择框是否是多重选择到目前为止这是我尝试过的:
if($(":select[multiple]").length){
alert("worked");
}
Run Code Online (Sandbox Code Playgroud)
也
if($("select").attr("multiple"){
alert("worked");
}
Run Code Online (Sandbox Code Playgroud)
也
if($("select").attr("multiple") != 'undefined'{
alert("worked");
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<select multiple="multiple" style="height:50px" class="classname" name="multi_values[]">
<option value="blah">blah</option>
<option value="blah">blah</option>
<option value="blah">blah</option>
</select>
Run Code Online (Sandbox Code Playgroud) 我刚开始在laravel 4中实现restful控制器.我不明白在使用这种路由方式时如何将参数传递给控制器中的函数.
控制器:
class McController extends BaseController
{
private $userColumns = array("stuff here");
public function getIndex()
{
$apps = Apps::getAllApps()->get();
$apps=$apps->toArray();
return View::make('mc')->nest('table', 'mc_child.table',array('apps'=>$apps, 'columns'=>$this->userColumns));
}
public function getTable($table)
{
$data = $table::getAll()->get();
$data=$data->toArray();
return View::make('mc')->nest('table', 'mc_child.table',array('apps'=>$apps, 'columns'=>$this->userColumns));
}
}
Run Code Online (Sandbox Code Playgroud)
路线:
Route::controller('mc', 'McController');
Run Code Online (Sandbox Code Playgroud)
我能够访问这两个URL,因此我的路由工作正常.使用此路由和控制器方法时,如何将参数传递给此控制器?
我正在尝试找出一种方法来在jenkins作业中获取远程git项目名称作为env变量。当詹金斯克隆存储库时,我想将项目名称用作“本地子目录名称”。有没有办法做到这一点?
也许像 ${GIT_REPO_NAME}
我知道这里有${GIT_REPO_URL}项目名称,但是我需要能够在本地子目录字段中使用它。
如果有人对此有更好的解决方案,我将不胜感激。
谢谢!
我目前正在使用laravel-elasticsearch提供程序进行ES查询.我在我的laravel队列(使用beanstalkd)处理的作业中使用它.我遇到的问题是,在长时间运行的作业中,最终我无法再将数据插入到elasticsearch中.工作刚刚挂起(没有异常被抛出)我已经缩小到我正在进行ES调用的代码.我的连接是否可能变得陈旧,如何重新连接?我的另一个想法是它与使用Facade有关,它是一个单身人士.
这是我正在做的,这不是我的确切代码.但是当代码没有在长时间运行的作业中运行时,代码工作正常.我只想提供一些context.it插入就好了,代码运行没有问题,直到它在长时间运行的进程后运行.
更新:
我已经将问题缩小到持久连接的elasticsearch-php库.我的ES背后有一个负载平衡器,它在5分钟后超时TCP连接.问题是ES php库中没有活着.5分钟后连接关闭,但它没有关闭我的连接.有没有办法为elasticsearch-php设置keep alive?或者重拨连接的电话?
//run some functions....
$params = array();
$params['body'] = array('somefield' => 'some data');
$params['index'] = 'my_index';
$params['type'] = 'my_type';
$params['id'] = 'my_id';
$ret = Es::update($params);//this is working just fine
//long running function here
$newparams = array();
$newparams['body'] = array('somefield' => 'some data');
$newparams['index'] = 'my_index';
$newparams['type'] = 'my_type';
$newparams['id'] = 'my_id';
$return = Es::update($newparams);//this will just hang
Run Code Online (Sandbox Code Playgroud) 有没有办法在加载<head>子视图时将js加载到页面的部分.我想只根据被调用的视图加载特定的JS文件.我正在使用刀片模板引擎.
我目前在我的应用程序中使用joda dateTime Api.我使用以下代码将多种日期格式解析为一种格式.虽然格式没有一年,但我遇到了麻烦.目前它将年份定为"2000".
如果缺少年份,有没有办法将年份设置为默认值?
private static final DateTimeParser[] parsers = {
DateTimeFormat.forPattern("dd/MMM/yyyy:HH:mm:ss Z").getParser(),
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").getParser(),
DateTimeFormat.forPattern("[dd/MMM/yyyy:HH:mm:ss Z]").getParser(),
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ").getParser(),
DateTimeFormat.forPattern("MMM-dd HH:mm:ss,SSS").getParser()
};
public static DateTime ConvertDate(String timestamp) {
DateTimeFormatter formatter = new DateTimeFormatterBuilder().append(null, parsers).toFormatter();
DateTime date = formatter.parseDateTime(timestamp);
return date;
}
Run Code Online (Sandbox Code Playgroud)
例:
Mar-07 13:59:13,219
变
2000-03-07T12:59:13.219-07:00
我想要的是 :
例:
Mar-07 13:59:13,219
变
(currentyear)-03-07T12:59:13.219-07:00
我试图使用雄辩的关系从我的数据库中检索一些数据.我在尝试获取特定字段而不是完整对象时遇到了问题.这是我的一些代码.
控制器:
public function getHosts($table = null)
{
foreach (Hosts::all() as $host)
{
echo $host->physical_machine_name;
echo $host->app->id;
}
}
Run Code Online (Sandbox Code Playgroud)
楷模:
class Hosts extends Eloquent
{
protected $connection = 'mysql_2';
protected $table = 'hosts';
public $timestamps = false;
public function app(){
return $this->hasMany('Apps', 'os_instance_name')->orWhere('os_instance_name', $this->os_instance_name);
}
}
class Apps extends Eloquent
{
protected $connection = 'mysql_2';
protected $table = 'app_instances';
public $timestamps = false;
public function host()
{
return $this->belongsTo('Hosts','os_instance_name')->orWhere('os_instance_name', $this->os_instance_name);
}
}
Run Code Online (Sandbox Code Playgroud)
我无法获取要显示的应用程序的ID,但是当我删除' - > id'说明符时,我能够获得包含所有字段的json对象.为什么会这样?
我还应该注意,$host->physical_machine_name工作正常.
这是我收到的错误: …
嗨我正在尝试使用find命令和-exec来执行文件文件,但它似乎不起作用.这是一些代码:
ssh $i find $DIRECTORY -name "version.sh" -exec sh {} \;
Run Code Online (Sandbox Code Playgroud)
我收到错误没有-exec的参数
谢谢!
我试图<tr>在表中找到不具有0的不透明度的所有元素.
到目前为止我尝试过:
var trHeight = table.find('tr:not(:transparent)').length;
Run Code Online (Sandbox Code Playgroud)
但这似乎改变了我的CSS.
是这样的:
var trHeight = table.find('tr').css('opacity !=0 ').length;
Run Code Online (Sandbox Code Playgroud)
谢谢.