【问题标题】:How can I get data in relationship database Laravel models with vuejs, axios如何使用 vuejs、axios 在关系数据库 Laravel 模型中获取数据
【发布时间】:2020-08-17 18:40:35
【问题描述】:

我试图在表Personal-Information 中获取数据,女巫的外键为user_id,来自表user,但我无法获取。请问有人知道吗?

模型用户和个人关系

class Personal extends Model
 {
 protected $fillable = ['fillable data'];    
 protected $table = 'informations';

public function user()
{
    return $this->belongsTO(User::class);
}

}

我的个人控制器

class PersonalController extends Controller
{

private $personal;

public function __construct(Personal $personal)
{
    $this->personal = $personal;
}

public function index()
{   
    $user = auth()->user();
    if(!$user==null)
    {
        return view('welcome');
    }else
    {
        return view('home' , compact('user'));
    }  
}

public function get()
{
    $user = auth()->user()->personal;
    return response()->json($user);
}

用户关系模型

public function personal()
{
    return $this->hasOne(Personal::class);

}

我的视图模板

export default {
    data(){
        return{
            form: new Form({
                id: '', 
                name: '', 
                surname: '', 
                identity: '', 
                birthday: '', 
                country: '',
                province: '',  
                county: '', 
                telemovel: '', 
                address: '', 
                facebook: '', 
                tweet:'', 
                linkedin: '',
            }) 
        }
    },
    methods:{    
        loadUsers(){
            axios.get("api/personal").then(({ data }) => (this.form.fill(data)));
        },
        createUser(){
            this.form.post('api/personal')
        },
    },
    created(){
        this.loadUsers();
    },
    mounted() {
        console.log('Component mounted.')
    }
}

【问题讨论】:

    标签: javascript php laravel vue.js axios


    【解决方案1】:

    可能是因为您有语法错误。在您的关系个人模型中,belongTo 是这样的,并且还指定如下所示的外键

    public function user() {
        return $this->belongsTo('App\Models\User','user_id'); }
    

    user_id 是外键。

    【讨论】:

    • 感谢您的回答,但实际上我应该先安装 Laravel Passport。之后一切顺利
    猜你喜欢
    • 2019-09-12
    • 2018-10-24
    • 2021-09-21
    • 2021-07-22
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    相关资源
    最近更新 更多