[mysql]laravel 插入新行,都有一个从另一个表和空值的列的键

标签: MySQL PHP laravel
发布时间: 2017/4/9 23:41:28
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

这是我的餐厅,表︰

enter image description here

餐馆的桌子已 adminID 字段。 这是 admin 表︰enter image description here

我有一个窗体上的价值,餐厅和管理员,

这是管理模型︰

class Admin  extends Eloquent implements UserInterface, RemindableInterface {

    use UserTrait, RemindableTrait;

    public function restaurant(){
        return $this->belongsTo('Restaurant', 'ID');
    }

这是餐厅模型︰

class Restaurant extends Eloquent implements UserInterface, RemindableInterface {

    use UserTrait, RemindableTrait;

    public function admin(){
        return $this->hasOne('Admin', 'adminID');
    }

这是用于存储新的餐厅 RestaurantsController

$input = Input::all();
        $validation = Validator::make($input, Admin::$rules);
        if($validation->passes()){
            $validation = Validator::make($input, Restaurant::$rules);
            if ($validation->passes())
            {
                $admin = Admin::create(Input::only('username', 'password', 'mobileNumber', 'firstName', 'lastName'));

正如你看到的现在我有了 $admin 变量,

我的问题

我需要插入一个新的餐厅 statmnet 是什么

  1. 请注意,我可以从 $admin-> id adminID
  2. 请注意的餐厅,如徽标和 addressManualID 的空列

解决方法 1:

首先,你不需要执行 UserInterfaceRemindableInterface 和也没有用 use UserTrait, RemindableTrait 来创建所有您的模型只 User 模型如果你有 User 模型进行用户身份验证 (输入/输出的日志)。如果 Admin 模型被用作替换的 User 模型然后你需要实现这些接口,并且还需要使用这些特质以及。也需要显式声明 protected $table 属性将分配表名称被用于 Admin 模型 (如果你不使用的 User 模型) 并且您需要更改某些设置在 app/config/auth.php 文件作为以下给出︰

'model' => 'Admin',

'table' => 'admins', // Could be anything else, same as protected $table property

然后试着利用下面保存相关的模型时创建 Admin :

//...
if ($validation->passes()) {
    $admin = Admin::create( Input::only('username', ...) );
    $restaurent = new Restaurant(Input::only(...));
    $admin->restaurant()->save($restaurent);
}
官方微信
官方QQ群
31647020