php - 让 Laravel 使用自定义列前缀

标签 php mysql laravel laravel-5

我有一个名为 people_id 而不是 user_id 的列,因此当我在 laravel 中运行查询时,它会抛出此错误

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_id' in 'field list' (SQL: insert into `questions` (`user_id`, `created_at`) values (2, 2016-10-19 07:07:33))

假设表名是“people”,如何让它使用 people_id 而不是 user_id

我的App/User.php文件

<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
    protected $table='people';
    protected $fillable = [
        'name', 'email', 'password','age'
    ];
    protected $hidden = [
        'password', 'remember_token',
    ];
    public function questions() {
        return $this->hasMany('App\questions');
    }
}

最佳答案

关于问题模型:

return $this->belongsTo('App\User', 'people_id');

https://laravel.com/docs/5.3/eloquent-relationships

关于php - 让 Laravel 使用自定义列前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40124584/

相关文章:

php - CModel 对比 CFormModel 对比 CActiveRecord

PHP cURL 请求返​​回 401,但适用于 Postman

php - 我想通过 Dreamweaver 将文件 uploader 添加到现有内容 uploader - 将 pdf 上传到特定文件夹,在数据库中生成 pdf 的 url

PHP、MySQL内存数据库和memcached

laravel - OctoberCMS:上传时裁剪原始图像

php - 如何使用图形 API 从 Facebook 页面获取最受欢迎的帖子

php - 帮助我在 Mysql 中创建巨大的数据库

mysql - gradle中字符串的字符编码

postgresql - 如果使用 Postgre,如何在 laravel 的查询构建器中使用 **distinct on()**?

php - Laravel 中的循环对象