小编Ale*_*spo的帖子

如何使用Laravel的流畅查询构建器选择计数?

这是我使用流畅查询构建器的查询.

    $query = DB::table('category_issue')
        ->select('issues.*')
        ->where('category_id', '=', 1)
        ->join('issues', 'category_issue.issue_id', '=', 'issues.id')
        ->left_join('issue_subscriptions', 'issues.id', '=', 'issue_subscriptions.issue_id')
        ->group_by('issues.id')
        ->order_by(DB::raw('COUNT(issue_subscriptions.issue_id)'), 'desc')
        ->get();
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我通过连接表中的计数进行排序.这工作正常.但是,我希望这个计数随我的选择而返回.

这是我的原始续集查询,工作正常.

Select issues.*, COUNT(issue_subscriptions.issue_id) AS followers 
FROM category_issue JOIN Issues ON category_issue.issue_id = issues.id 
LEFT JOIN issue_subscriptions ON issues.id = issue_subscriptions.issue_id
WHERE category_issue.category_id = 1
GROUP BY issues.id
ORDER BY followers DESC
Run Code Online (Sandbox Code Playgroud)

如何使用Laravel的流畅查询构建器进行此选择?我知道我可以使用原始的SQL查询但我想尽可能避免这种情况.任何帮助将不胜感激,提前谢谢!

mysql activerecord fluent laravel eloquent

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

使用javascript/ajax/jquery强制下载pdf链接

假设我们有一个pdf链接" http://manuals.info.apple.com/en/iphone_user_guide.pdf "(仅举例来说,让你知道我的服务器上没有该文件,我只有链接).. .现在我必须在我的网站上提供一个按钮来下载文件.

我尝试了各种各样的东西,如window.open,href等方法,但它打开其他窗口上的链接.我知道这是因为现在所有浏览器都带有一个adobe插件,可以在另一个窗口中打开它,但仍然没有任何方式我给用户提供下载选项而不是通过客户端脚本打开它.

请帮忙..谢谢

javascript

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

可疑的SQL实践 - 按ID而不是创建时间排序

所以我有一个有趣的问题,我不确定是否被视为'黑客'.我查看了一些问题,但没有找到重复,所以在这里.基本上,我需要知道这是不可靠还是被认为是不好的做法.

我有一个非常简单的表,具有唯一的自动递增ID和created_at时间戳.(我的问题的简化版本,以澄清有问题的概念)

+-----------+--------------------+
| id        |created_at          |
+-----------+--------------------+
| 1         |2012-12-11 20:35:19 |
| 2         |2012-12-12 20:35:19 |
| 3         |2012-12-13 20:35:19 |
| 4         |2012-12-14 20:35:19 |
+-----------+--------------------+
Run Code Online (Sandbox Code Playgroud)

这两个列都是动态添加的,因此可以说新的'insert' 总是具有更大的id并且总是有更大的日期.

目标 - 非常简单地按降序抓取created_at排序的结果

SOLUTION ONE - 按日期降序排序的查询

SELECT * FROM tablename
ORDER BY created_at DESC
Run Code Online (Sandbox Code Playgroud)

解决方案两 - 按ID按降序排序的查询

SELECT * FROM tablename
ORDER BY id DESC
Run Code Online (Sandbox Code Playgroud)

解决方案二被视为不良做法吗?或解决方案二是正确的做事方式.任何对你的推理的解释都会非常有用,因为我试图理解这个概念,而不仅仅是简单地得到答案.提前致谢.

mysql sql database query-optimization

10
推荐指数
3
解决办法
1691
查看次数

KornShell(ksh)调度算法(SRT)

我被赋予了一个从txt文件中读取模拟进程的任务,看起来像这样.

ID: 35; Arrival_Time: 0; Total_Exec_Time: 4;
ID: 65; Arrival_Time: 2; Total_Exec_Time: 6;
ID: 10; Arrival_Time: 3; Total_Exec_Time: 3;
ID: 124; Arrival_Time: 5; Total_Exec_Time: 5;
ID: 182; Arrival_Time: 6; Total_Exec_Time: 2;
Run Code Online (Sandbox Code Playgroud)

我必须从(先到先得,最短剩余时间,最短剩余时间,循环q = 2)的选择中完成两个算法.我需要根据我选择的两个算法打印出当时运行的当前时间和进程.我已经成功完成了FCFS.我的下一个方法是关于SRT,除了我对算法背后的逻辑有一些严重的问题.

我目前正在尝试一种迭代方法(在下面发布),它在一定程度上起作用(直到当前时间9),但我觉得这可能只是一个幸运的巧合.

有没有人对这个算法有任何建议,或者其他两个.我已经在这项任务上工作了几天,并决定将我的骄傲吸收并在堆叠上发布.

注意:这是我第一次使用shell脚本,所以我的代码可能有点乱.我仍在努力了解KornShell(ksh).

file="/path/to/file.txt"
  IFS=': \;'
  i=0
  while read -r f1 f2 f3 f4 f5 f6  
    do 
      integer id[i]="$f2" #id array
      integer at[i]="$f4" #arrival time array
      integer et[i]="$f6" #exec time array
      integer rt[i]=0 #run time so far
      integer current[i]=i

      ((i++))
    done <"$file"

  integer curr_index=0
  integer currTime=0 …
Run Code Online (Sandbox Code Playgroud)

unix algorithm shell ksh scheduling

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

jquery datatables-一个数据表中的最大列数

嗨,我正在尝试使用jquery datatbles插件为oracle表开发一个UI,它有大约40个列/字段.我能够显示多达18列,但之后它不起作用.以前是否还有其他人遇到过同样的问题?请告诉我这个我对jquery很新.

`Sorry for that...
Run Code Online (Sandbox Code Playgroud)

当我试图为我的oracle表创建一个UI时,当我为18列(任何18)配置它时,我可以看到我的UI工作正常.但是如果我再添加一列并更新配置,我的UI就不会加载.

<script type="text/javascript">
     $(document).ready(function () {
       $("#reports").dataTable({
            "bServerSide": true,
            "sAjaxSource": "/databaseInterface/DataSource",
            "bProcessing": true,
            "sPaginationType": "full_numbers",
            "bJQueryUI": true,
            "aoColumns": [
                          {  "sName": "ID",
                             "bSearchable": false,
                             "bSortable": false,
                             "bVisible": false
                                 },
                  { "sName": "name" },
                  { "sName": "sname" },
                  { "sName": "address" },
                  { "sName": "city" },
                  { "sName": "post code" },
                  { "sName": "age" },
                  { "sName": "major" },
                  { "sName": "grade" },
                  { "sName": "Elect1" },
                  { "sName": "Elect2" },
                  { "sName": "Elect3" },
                  { …
Run Code Online (Sandbox Code Playgroud)

java jquery jsp jquery-plugins datatables

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

除非匹配位于字符串的末尾,否则正则表达式将替换所有匹配项

我目前正在使用此正则表达式替换字符串中的所有非字母数字字符,并用短划线替换它们

$newString = preg_replace("/[^a-z0-9.]+/i", "-", $string);
Run Code Online (Sandbox Code Playgroud)

适用于以下字符串.

$string = "this will work fine";
$newString = "this-will-work-fine";
Run Code Online (Sandbox Code Playgroud)

但是如果字符串有一个非字母数字作为最后一个字符,它将匹配并替换它,正如人们所怀疑的那样.

$string = "How can I fix this?";
$newString = "How-can-I-fix-this-";
Run Code Online (Sandbox Code Playgroud)

如何改进此正则表达式以获得以下输出?

$newString = "How-can-I-fix-this";
Run Code Online (Sandbox Code Playgroud)

正则表达式应该适用于这两种情况.我知道我可以用一个单独的函数来修剪字符串,但理想情况下我想使用一个正则表达式.这有可能吗?

php regex string preg-replace

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

Git diff文件名打破一致性

该行取自原始差异,包括2852个文件更改(切换多个库).

diff --git "a/system/cms/config/database.php\n" "b/system/cms/config/database.php\n"
Run Code Online (Sandbox Code Playgroud)

在所有2852个文件更改中,这是唯一的差异,其中文件名用引号括起来并以"\n"结尾.每个其他相关的行都符合这种模式.

diff --git a/system/cms/config/constants.php b/system/cms/config/constants.php
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?

git diff filenames git-diff

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