Laravel使用DB :: table而不是:: find()来保存或修改记录

时间:2015-08-23 06:55:18

标签: laravel laravel-4

在我的项目中,我需要在不使用表中的id的情况下从sql中找到一些数据。例如,我们可以使用此代码按id

查找数据
$result = BuyCard::find(10);

但我希望在user_code等其他表格列中进行搜索而不更改laravel结构,而不是id与其他列。我试过这个:

    $data = DB::table('buy_card_transactions')->where('transaction_id', $key)->first();
    $data->result_transaction = 1;
    $data->save();

对于这段代码我收到错误但我可以使用它。但是这段代码很好用:

    $data = DB::table('buy_card_transactions')->where('transaction_id', $key)->first();
    $data = BuyCard::find($data->id);
    $data->result_transaction = 1;
    $data->save();

如何在不使用

的情况下编辑它
$data = BuyCard::find($data->id);
代码之间的

?代码工作正常,但这不正确。

1 个答案:

答案 0 :(得分:1)

  

尝试改变这一点:

$data = DB::table('buy_card_transactions')->where('transaction_id', $key)->first();
  

要:

$data = DB::table('buy_card_transactions')->where(array('transaction_id' => $key))->first();
  

或者:

BuyCard::where('transaction_id',$key)->first();