小编PdC*_*PdC的帖子

在PHP/MySQL中为列分组相同的行

假设我有一个如下所示的表结构

location|name 
------------- 
NY|john  
London|neil  
NY|clair
Run Code Online (Sandbox Code Playgroud)

我使用检索数据

SELECT * FROM table
Run Code Online (Sandbox Code Playgroud)

HTML视图文件如下:

<table>  
<tr><td>location</td><td>name</td>  
<?php foreach($rows as $row):>  
<tr><td><?=$row->location></td><td><?=$row->name></td>  
<?php endforeach;>  
</table>
Run Code Online (Sandbox Code Playgroud)

正如您所猜测的,它会多次输出一行的每一列.

我真正想要的是,将它们列为,

NY
            john
            clair

London
            neil
Run Code Online (Sandbox Code Playgroud)

如果我可以在纽约和伦敦之间使用交替的颜色也会很棒.

ps:我有太多的东西要分组,简单的解决方法是不合适的.

php mysql

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

无法访问函数内部的变量

在模型中我得到了一个带有3个参数的作用域函数$query,$sort_by并且$sort_dir,我可以在join函数之前访问它们,但由于某种原因我无法在join函数内部访问它们.

为什么?我错过了什么吗?

public function scopeOrder($query, $sort_by=false, $sort_dir='ASC'){

    if(!$sort_by)
        return $query;

    var_dump($sort_dir); //prints 'ASC'

    return $query->join('product_translations', function($q){

        var_dump($sort_dir); //variable undefined <----- ERROR

        $q->on('product_products.id', '=', 'product_translations.product_id')->where('product_translations.locale', '=', 'de');

    })->select('product_products.*')->orderBy('product_translations.name');

}
Run Code Online (Sandbox Code Playgroud)

php function laravel laravel-5

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

何时在 Laravel 中使用数据透视表

对于GymtoUser关系,我有一对多的关系。那是一个Gym可以有多个用户,但一个User只能有一个健身房。

最好有一个数据透视表来链接gym_iduser_id如下所示?

Gym_User 桌子:

gym_id  |  user_id
Run Code Online (Sandbox Code Playgroud)

或在User如下表中?

User 桌子:

id | name | password | gym_id 
Run Code Online (Sandbox Code Playgroud)

mysql database laravel

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

Laravel Guzzle 参数

从 API 文档我有这个curl请求:

curl https://api.example.com/api/Jwt/Token ^
        -d Username="asd%40gmail.com" ^
        -d Password="abcd1234"
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用 Guzzle 库在 Laravel 5.1 中创建该请求,所以我写道:

 public function test()
    {

$client = new GuzzleHttp\Client();

$res = $client->createRequest('POST','https://api.example.com/api/Jwt/Token', [

    'form_params' => [
        'Username' => 'asd%40gmail.com',
        'Password' => 'abcd1234'
]
            ]);

$res = json_decode($res->getBody()->getContents(), true);

dd ($res);
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

***ErrorException in Client.php line 126:
Argument 3 passed to GuzzleHttp\Client::request() must be of the type array,     string given, called in     /home/ibook/public_html/vendor/guzzlehttp/guzzle/src/Client.php on line 87 and defined***
Run Code Online (Sandbox Code Playgroud)

问题是什么,我该如何解决该错误?

ps我也试过

$res = …
Run Code Online (Sandbox Code Playgroud)

php laravel guzzle guzzle6 guzzlehttp

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

用特殊字符解码PHP中的JSON密钥

这应该是一个简单的问题,但是我似乎无法理解过去的语法。

    object(stdClass)#15 (12) {
  ["im:name"]=>
  object(stdClass)#14 (1) {
    ["label"]=>
    string(15) "Balls VS Blocks"
  }
Run Code Online (Sandbox Code Playgroud)

一个简单的$info->im:name->label就能提取“ Balls VS Blocks”。但是,由于:第一个键中有一个,因此它会退出我的IDE,然后会引发错误。我如何才能逃避钥匙中的这个特殊字符?

php json decode special-characters

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