表内数据无法从php输出,php – Laravel 4.2多对多关系:无法从数据透视表中读取...

我试图将Jeffrey Way的多对多关系教程应用到我的私人消息应用程序中,但我被卡住了.我正试图获得与用户相关的2个对话,哈哈和嘿嘿.但是,Laravel给了我错误:

Column not found: 1054 Unknown column 'Conversations.user_id' in 'where clause' (SQL: select * from `Conversations` where `Conversations`.`user_id` = 1)

我在对话表中有这些数据:

+---------+----------+

| conv_id | name |

+---------+----------+

| 1 | haha |

| 2 | hehe |

+---------+----------+

在我的user_conversations表中:

+----+-------------+--------+

| id | conv_id | user_id|

+----+-------------+--------+

| 1 | 1 | 1 |

| 2 | 2 | 1 |

+----+-------------+--------+

我试过:在控制器中:

用户:return $this-> belongsToMany(‘User’,’id’);

Conversatons:返回$this-> hasMany(‘Conversations’,’conv_id’);

但我得到的结果是:哈哈而不是哈哈和呵呵

我也尝试过:

用户:return $this-> belongsToMany(‘User’,’user_conversations’);

Conversatons:返回$this-> hasMany(‘Conversations’,’user_conversations’);

但laravel给我发了以下错误:

Column not found: 1054 Unknown column 'Conversations.user_conversations' in 'where clause' (SQL: select * from `Conversations` where `Conversations`.`user_conversations` = 1)

我在Laravel还是比较新的,所以我可能会犯一些愚蠢的错误.

这是我的代码:

模型

对话

class Conversations extends Eloquent {

protected $table = 'Conversations';

protected $fillable = array('name');

public function users(){

return $this->belongsToMany('User');

}

}

用户

use Illuminate\Auth\UserInterface;

use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

....

public function conversations(){

return $this->hasMany('Conversations');

}

}

CONTROLLERS

对话控制器

public function create()

{

$loginuser = User::find(Auth::user()->id);

$conversations = $loginuser->conversations;

return View::make('msgsystem.Conversations.Conversations',array('conversations'=>$conversations));

}

移民(在功能上升())

用户

Schema::create('users',function($table)

{

$table->increments('id');

$table->string('email')->unique();

$table->string('password',100);

$table->string('name',150);

$table->string('usertype',50);

$table->boolean('block');

$table->string('remember_token',100);

$table->timestamp('lastlogin_at');

$table->timestamps();

$table->softDeletes();

});

对话

Schema::create('Conversations', function(Blueprint $table)

{

$table->increments('conv_id')->index();

$table->string('name',100);

$table->timestamps();

});

user_conversations

Schema::create('user_conversations', function(Blueprint $table)

{

$table->increments('id')->unsigned();

$table->integer('conversation_id')->unsigned()->index();

$table->foreign('conversation_id')->references('conv_id')->on('conversations')->onDelete('cascade');

$table->integer('user_id')->unsigned()->index();

$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

$table->timestamps();

});

改善代码的奖励点.非常感谢你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值