【问题标题】:Laravel 4, complicated IF SQL selectionLaravel 4、复杂的IF SQL选择
【发布时间】:2013-09-27 10:43:34
【问题描述】:

希望您能提供帮助。 我正在使用 Laravel 4、MySQL,当然还有 PHP。

表格:消息

字段:内容、发件人、收件人、sender_deleted、reciever_deleted。

我正在尝试将以下内容转换为 SQL:

*Retrieve all where you are the sender, if sender_deleted == 0, and where you are the receiver, if reciever_deleted == 0.*

基本上我想要所有消息,如果您是发件人或收件人,并且您没有删除该消息。

我完全被困住了。有人可以帮忙吗?

【问题讨论】:

  • 您想要用户发送给自己的所有消息,还是您既发送(给任何人)又收到的消息?区别在于伪 sql 中的 OR 而不是 AND。另外,发送者和接收者是用户 ID 吗?
  • 泰。发件人/收件人是用户名。我可能会在以后添加用户 ID,但现在不需要。我想要为用户发送和接收的所有消息。对任何人,但不是你自己。

标签: php mysql sql laravel laravel-4


【解决方案1】:

您可以尝试这样的事情(在您的Message 模型中)

public static function getMessages($user)
{
    $messages = DB::table('msg')
                ->where('sender', $user)
                ->where('sender_deleted', 0)
                ->orWhere('receiver', $user)
                ->where('reciever_deleted', 0)
                ->get();
                return $messages;
}

然后您可以从您的控制器调用并传递给视图

$messages = Message::getMessages($userid);
return View::make('message')->with('messages', $messages);

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2013-04-03
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多