【问题标题】:Laravel 5.1 eloquent orm relationshipLaravel 5.1 雄辩的orm关系
【发布时间】:2015-09-28 20:00:00
【问题描述】:

我有以下设置:

Profile.php 模型:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Profile extends Model
{

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

User.php 模型:

<?php namespace App\Models;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
    use Authenticatable, CanResetPassword;

    public function profile()
    {
        return $this->hasOne('App\Models\Profile');
    }
}

AuthController.php:

public function signup(Request $request)
    {
        $user = new User;
        $profile = new Profile;
        $user->email = $request->input('email');
        $user->first_name = $request->input('first_name');
        $user->last_name = $request->input('last_name');

        $user->password = Hash::make($request->input('password'));

        $user->save();
        $role = Role::whereName('user')->first();

        $profile->city = $request->input('city'); ---> profile model
        $profile->gender = $request->input('gender'); --> profile model
      } 

如何根据关系保存到个人资料?由于外键约束,我无法直接保存到配置文件。

谢谢!!

【问题讨论】:

    标签: php laravel laravel-5 eloquent


    【解决方案1】:

    您可以根据关系保存到配置文件:

    public function signup(Request $request)
    {
      $user = new User;
      $profile = new Profile;
      $user->email = $request->input('email');
      $user->first_name = $request->input('first_name');
      $user->last_name = $request->input('last_name');
    
      $user->password = Hash::make($request->input('password'));
    
      $user->save();
      $role = Role::whereName('user')->first();
    
      $profile->city = $request->input('city'); ---> profile model
      $profile->gender = $request->input('gender'); --> profile model
    
      //save profile 
      $user->profile()->save($profile);
    
    } 
    

    【讨论】:

      猜你喜欢
      • 2014-06-22
      • 1970-01-01
      • 2018-08-06
      • 2016-02-26
      • 2016-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多