小编mtm*_*ald的帖子

具有多个“方法”的自定义 artisan 命令(采用 migrate:install 等风格)

我正在为我的 Laravel 4 应用程序创建一个自定义 artisan 命令 (foo)。我可以从用户指南中看到如何接受参数和选项,例如

php artisan foo argument --option
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要一个具有许多“方法”的自定义 artisan 命令,其风格与某些内置 artisan 命令(例如migrate:install )相同,该怎么办?我想做一些类似的东西:

php artisan foo:baz argument --option
Run Code Online (Sandbox Code Playgroud)

基于:冒号分隔符实现不同方法的推荐方法是什么?到目前为止,我发现尝试的只是为每个“方法”创建一个全新的 artisan 命令。有更有效的方法吗?

laravel-4

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

PHP - 将字符串拆分为数字键数组

我想将PHP中的字符串拆分为"名称"部分(字符串)和"键"部分(整数数组).

输入示例:

 $input = "Sum(1, 5, 7)";
Run Code Online (Sandbox Code Playgroud)

期望的输出:

 $name = "Sum";
 $keys = [1, 5, 7];
Run Code Online (Sandbox Code Playgroud)

我一直在看爆炸,str_split preg_split,我确信有很多可能的实现.什么是最优雅的解决方案?

php string-split

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

将内容拉伸至容器宽度的100%,减去浮动的同级元素的宽度

我想在容器内部的某些内容旁边放置一个动态徽标(宽度变量/未知)(请参阅附件的模型 - 徽标位于绿色的右侧,内容为蓝色).我特别希望内容div延伸到页面的完整剩余宽度,如模型中所示:

但是当我尝试将内容浮动到左侧并将徽标浮动到右侧(jsfiddle)时,徽标位于内容下方,除非我将内容宽度设置为小于100%(并且我无法知道内容宽度,因为徽标宽度可以变化).

布局

HTML:

<div id="container">
  <div id="content"></div>
  <div id="logo"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#content {
  border: 1px solid green;
  height: 300px;
  width: 100%;
  float: left;
}

#logo {
  border: 1px solid red;
  width: 50px; /*unknown width*/
  height: 50px;
  float: right;
}
Run Code Online (Sandbox Code Playgroud)

如何将内容div拉伸到整个容器宽度减去徽标的宽度?

css

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

匹配字母数字字符,包括拉丁语 unicode

我有一个匹配 ASCII 字母数字字符的工作正则表达式:

 string pattern = "^[a-zA-Z0-9]+$";
 Match match = Regex.Match(input, pattern);
 if (match.Success)
 {
   ...
Run Code Online (Sandbox Code Playgroud)

我想扩展它以应用相同的概念,但包括所有拉丁字符(例如 å、Ø 等)。

我已经阅读了有关unicode 脚本的信息。我试过这个:

 string pattern = "^[{Latin}0-9]+$";
Run Code Online (Sandbox Code Playgroud)

但它与我期望的模式不匹配。如何使用 unicode 脚本或替代方法匹配拉丁语 unicode?

c# regex

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

单个查询中的MySQL加权平均值

我有一个MySQL表,看起来像这样:

id  load_transit    load_standby    hours_transit   hours_standby
1   40              20              8               4
2   30              15              10              10
3   50              10              3               9
Run Code Online (Sandbox Code Playgroud)

我需要做以下计算:

(中间计算)

hours_transit_total = 8+10+3 = 21
hours_standby_total = 4+10+9 = 23
Run Code Online (Sandbox Code Playgroud)

(期望的结果)

load_transit_weighted_mean = 40*(8/21) + 30*(10/21) + 50*(3/21) = 36.667
load_standby_weighted_mean = 20*(4/23) + 15*(10/23) + 10*(9/23) = 13.913
Run Code Online (Sandbox Code Playgroud)

是否可以在单个查询中执行此操作?最好的设计是什么?

mysql sql

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

以微小的间隔更新所有时间戳

我有一个包含StartTime(DATETIME)字段的数据行的表.大约去年,每分钟都有一行数据.我想要一种方法来运行脚本来更新StartTime字段,以便时间戳是"最近的"(这是Web应用程序的演示数据).

我的想法是使用ROW_NUMBER()和DATEADD()用新的时间戳更新每一行,从一年前的当前时间开始,每行迭代一分钟.

这个想法似乎适用于SELECT语句:

SELECT TOP 10 
DATEADD(MINUTE,ROW_NUMBER() OVER (Order by StartTime),DATEADD(yy, -1, GETDATE())) AS Ds
FROM Test WHERE ItemId='0E0814B9-79A0-4BCF-AB33-B89D84CA3BEC' ORDER BY StartTime;
Run Code Online (Sandbox Code Playgroud)

这会产生一分钟的预期时间戳:

2015-12-21 17:57:55.550
2015-12-21 17:58:55.550
2015-12-21 17:59:55.550
Run Code Online (Sandbox Code Playgroud)

但是当我使用UPDATE语句尝试相同的概念时:

WITH Datarows (Ds)
AS
( 
    SELECT DATEADD(MINUTE,ROW_NUMBER() OVER (Order by StartTime),DATEADD(yy, -1, GETDATE())) AS Ds
    FROM Test
    WHERE ItemId='0E0814B9-79A0-4BCF-AB33-B89D84CA3BEC'
)
UPDATE Test 
SET StartTime = Ds
FROM Datarows
Run Code Online (Sandbox Code Playgroud)

所有更新的时间戳都是相同的:

2015-12-21 17:30:14.463
2015-12-21 17:30:14.463
2015-12-21 17:30:14.463
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?如何更新所有行以使时间戳间隔一分钟?

sql-server

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

标签 统计

c# ×1

css ×1

laravel-4 ×1

mysql ×1

php ×1

regex ×1

sql ×1

sql-server ×1

string-split ×1