小编Ada*_*nga的帖子

如何在 Laravel 查询中执行 IS NOT NULL

我正在尝试执行此 SQL 语句并使用刀片引擎输出它:

" SELECT SUM(like) FROM likes WHERE post_id = ". $post->id. " AND source_id IS NOT '' "
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做,我昨天试过了,但没有成功:

{{$post->likes->where('post_id', $post->id)->where('source_id', '<>', '')->sum('like')}}
Run Code Online (Sandbox Code Playgroud)

喜欢表“属于表和帖子表。

编辑:

我正在使用 Laravel 版本5.2.45

php mysql laravel laravel-blade

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

MySQL - 如何删除列不包含某些值的行?

我正在尝试删除特定列不包含某些字符串的所有行。像这样:

DELETE * FROM table
WHERE Disease NOT LIKE (Malaria, HIV, E. coli O157);
Run Code Online (Sandbox Code Playgroud)

我收到此错误: #1064 - 您的 SQL 语法有错误;第 1 行“* FROM 表 WHERE NOT LIKE(疟疾)”附近

mysql

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

在获取Google API数据时,cURL无法正常工作

所以,我正在尝试使用cURL获取API数据,但是我从下面的代码中的else语句中得到消息"fail".API调用是用于获取坐标的Google地理编码.

代码:

 <?php 
    require_once('../db.php');
    $api_key = "somekey";
    $sqlQuery = mysql_query("SELECT `County` FROM `table`"); 
    $ch = curl_init();


    /* Fetch county */ 
    while($rows = mysql_fetch_array($sqlQuery))  { 
        $countyArr = $rows['County']; 

        /* Call google API and save coordinates for each county */ 
        curl_setopt ($ch, CURLOPT_URL, "https://maps.googleapis.com/maps/api/geocode/json?address=".$countyArr.",+CA&key=".$api_key."");
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        $json= curl_exec($ch, true);
        $obj = json_decode($json);

        if ($obj->status == "OK") {
            $lat = $obj->results->location->lat;
            $lng = $obj->results->location->lng;
            echo $lat;
        } else {
            echo "fail";
        }
    }
    curl_close($ch);
?> 
Run Code Online (Sandbox Code Playgroud)
  • 我打算get_file_contents() …

php api json curl google-maps

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

Laravel 中按总和列关系排序

我有这个控制器,它从一个帖子表中抓取帖子。posts表中的每个帖子都与另一个表likes有关系“hasMany” 。

控制器:

public function getDashboard(){
        $posts = Post::orderBy('created_at', 'desc')->get(); 

        return view('dashboard', ['posts' => $posts]);
}
Run Code Online (Sandbox Code Playgroud)

我想用以下内容替换“创建于”:

$post->likes->sum(like)
Run Code Online (Sandbox Code Playgroud)

不知道如何编写正确的语法。

编辑:

这是桌子。

Posts  
--id   
--body  
Likes 
--id  
--post_id  
--like
Run Code Online (Sandbox Code Playgroud)

列的值可以是 1 或 -1。我想对每个帖子的该列的总和进行排序。因此,具有一个不喜欢(-1)和一个喜欢(1)的帖子的聚合值为 0,因此将放置在具有一个喜欢(1)的帖子之后。

laravel

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

标签 统计

laravel ×2

mysql ×2

php ×2

api ×1

curl ×1

google-maps ×1

json ×1

laravel-blade ×1