【问题标题】:How to change the basic mysql query (related tables) to Laravel?如何将基本的 mysql 查询(相关表)更改为 Laravel?
【发布时间】:2019-08-19 22:50:56
【问题描述】:

我有相关的表格。 那么,如何将基本查询转换为与我的查询返回相同值的 Laravel?

$result=$koneksi->query("SELECT * FROM user, city where user.id_city=city.id_city and id_user='1'");
$row=mysqli_fetch_array($result,MYSQLI_BOTH);
$id_user=$row['id_user'];

【问题讨论】:

  • 注意:mysqli 的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query 接口混淆。在您对程序风格投入过多之前,值得转换一下。示例:$db = new mysqli(…)$db->prepare("…") 程序接口是 PHP 4 时代引入的mysqli API 的产物,理想情况下不应在新代码中使用。您在这里不一致地使用这两种样式。应该是$result->fetch_array(MYSQLI_BOTH)

标签: mysql database laravel frameworks


【解决方案1】:

我假设你有每个表的模型,如果没有设置的话。默认的 id 列通常是“id”,所以如果你也可以更改它以使 Laravel 开箱即用地发挥神奇作用,那就太好了。

然后在你的模型类中添加关系。

class User extends Model
{
    public function city() {
        return $this->belongsTo('App\City');
    }
}

class City extends Model
{
    public function users() {
        return $this->hasMany('App\User');
    }
}

那你应该可以了

User::with('city')->find(1)

【讨论】:

    【解决方案2】:

    使用数据库;

    DB::table('user')->Join('city', 'user.id_city', '=', 'city.id_city')->where('id_user','=',1);
    

    关于你的核心 php mysql 查询,这个查询可以在你的 laravel 中工作。

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 1970-01-01
      • 2023-03-24
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2018-06-20
      相关资源
      最近更新 更多