- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 laravel 5.1 建立一对多关系。问题是,当我创建一个新产品时,它不属于我数据库中的任何用户。我的数据库中有 2 个表:产品和用户。我的产品表中的一行是 user_id。
public function create()
{
return view('products.create');
}
public function store(Request $request)
{
$inputs = $request->all();
$product = Product::Create($inputs);
return redirect()->action('ProductController@index');
}
这是我的 ProductController 中的代码。这是我模型中的代码。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
protected $fillable = [
'name',
'price',
'descr',
'image',
'sale',
'user_id'
];
public $timestamps = false;
protected $table = 'products';
public function books(){
return $this->hasMany('App\Books');
}
}
无论我尝试什么,我都不知道该怎么做。如果我忘记添加上面的任何内容,请告诉我。谢谢
最佳答案
对于一对多关系或任何关系,您需要具有正确的数据库结构。例如,在您的情况下,您有两个表 products
和 users
让我们为您的表 products
和 users
创建迁移
迁移
Schema::create('users',function(Blueprint $table){
$table->increaments('id');
$table->string('name');
//and so on ...
});
所以基本上是为了识别您有 users.id
列的用户。
Schema::create('products',function(Blueprint $table){
$table->increaments('id');
$table->string('product_name');
$table->integer('user_id')->unsigned();
//and so on ...
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
});
现在您有了users
表和products
表。并且您的表之间存在关系,即用户可以拥有产品。
模型
class User extends Model {
public function products(){
return $this->hasMany('\App\Product'); //Product Model Name
}
}
现在,如果您想访问属于用户
的产品
,您必须在您的 Controller 中执行此操作。
$user = Users::find(1); //lets say for test we just took firs user
return $user->products()->get();
这将为您提供用户详细信息以及与该特定用户关联的产品的干净 json。
注意:在您的情况下,您没有任何与产品详细信息相关联的 user_id,在这种情况下,它不会起作用,因为应该存在某种关系。
用于将数据存入数据库
public function create()
{
return view('products.create');
}
public function store(Request $request)
{
$inputs = $request->all();
$product = Product::Create($inputs);
return redirect()->action('ProductController@index');
}
现在您正在将值批量分配到数据库中,因此 $request->all()
必须具有登录用户的 user_id
。
所以在products.create
View 的表单区域创建一个隐藏字段。
<form action="someaction" method="POST">
<input type="hidden" name="user_id" value="{{Auth::user()->id}}"/>
<input type="text" name="product_name" />
</form>
现在您的 $request->all()
方法将包含键 user_id
及其值形式的已登录用户。
Auth::user()
给出登录用户的信息;
或者在你的 Controller 中你也可以这样做..
public function store(Request $request)
{
$request->user_id = Auth::user()->id; //assigning user_id value to the current logged in user's id (this has to be before adding the request to the inputs variable so when you execute ::Create($inputs) it will be there)
$inputs = $request->all();
$product = Product::Create($inputs);
return redirect()->action('ProductController@index');
}
希望这会有所帮助。 :)
关于php - Laravel 5.1 创建链接到 user_id 的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925728/
我想解析Excel并制作字典并连接具有相同字典user_id的模型(用户)。现在字典是 dict_data = {'user_id': 1,'nationarity': America, 'dormi
我有一个复杂的请求,所以我简化了它,希望我能很好地解释它。 我有一个订阅表: ID | Timestamp | User Id | Status -----+---------
这是错误页面 无法添加或更新子行:外键约束失败 (latihan_ci.adventure, CONSTRAINT adventure_ibfk_1 FOREIGN KEY ( user_id)引用u
如何添加一条消息,显示“$user_id 已删除”或“$user_id 未找到?” 最佳答案 关于php - 我如何添加一条显示 "$user_id Deleted"或 "$user_id n
我正在关注 ruby on rails Michael Hartl 的教程,我不明白他是如何在 if 条件下使用赋值运算符的: if (user_id = session[:user_id])
我正在尝试注册用户。注册用户后直接登录。所以基本上我想在立即注册后开始 session 。 但我无法这样做,因为 session 变量没有设置!这让我很头疼:( 请帮帮我.. 这里是插入用户表的代码:
两种模型“代理”和“代理”。每个都与我的“用户”模型相关联。我为每个模型指定了“user_id”的“foreignKey”。但是,Sequelize 会为一个模型在“user_id”之外创建一个“us
我不断收到错误消息:-- add_column(:articles, :user_id, :integer) rake 中止!StandardError:发生错误,此迁移和所有后续迁移均已取消: SQ
我收到有关“User_Id”列的异常,我的数据库或代码中没有该列。它就这样出现了...有什么问题吗?有什么建议 ?当我想添加一些东西时,我得到了这个异常。 protected over
我收到有关“User_Id”列的异常,我的数据库或代码中没有该列。它就这样出现了......有什么问题?有什么建议 ?当我想添加一些东西时,我得到了这个异常。 protected ov
我有一个雇主系统( http://envato.jigowatt.co.uk/demos/phplogin/login.php ),我想添加(投票系统,雇主日报,消息系统)所以我从投票系统开始,我确实
当我提交表单时,我可以在错误中看到除了“user_id”之外我的所有值都已传递: ('insert into `products` (`title`, `body`, `address`, `cond
好吧,我有三个模型......用户、集合和设计。 我的模型= 用户模型 `has_many :collections has_many :designs, :through => :collec
从 xxcus.xxacl_pn_employee_v 表中,我得到如下 LOGIN_NAME 我想要显示数据的列是CREATED_BY,表名称是xxacl_pn_flat_status_his,Us
我有两个 PHP 页面: 电子邮件/密码登录页面。 用于查看数据的索引页面。此数据 View 会根据用户是否登录而有所不同。 当我正确输入登录信息时,我的登录页面会通过“提交”按钮并重定向到index
是否可以对表中的每个user_id执行sql删除查询?我可以通过SELECT user_id FROMusers获取所有user_id然后我可以使用 删除除最后一个之外的所有原始数据 DELETE F
我有一个注册表单供用户注册我的网站。所有详细信息都会进入 mysql 数据库,例如名称等。 当信息记录在数据库中时,我希望提交表单以创建一个连续的 user_id 并将其与其他详细信息(例如姓名和年龄
我有一个包含 4 列的表格: ID、USER_ID、SOURCE、CREATED_DATE 该表中有以下数据: ID USER_ID SOURCE CREATED_DATE 1
我想通过 Firebase 云功能向设备发送推送通知。我正在编写node.js脚本 exports.sendNotification = functions.database.ref('/messag
你好 stackoverflow 的人,我需要一些关于这个脚本的帮助。我需要更改数组键。我有这个脚本: $Pirmas = mysql_query("SELECT user_id FROM dotp_
我是一名优秀的程序员,十分优秀!