duanjing7298 2019-07-11 13:09
浏览 42
已采纳

如何转换为laravel?

Can you give me a little bit of help with this?I want to convert this for laravel 5.2, and also add role_users table with column user_id and user_role. Can you help me please?

$career_solutions_data = DB::select("
    SELECT 
    career_solutions.id, 
    career_solutions.subject, 
    career_solutions.date, 
    career_solutions.public, 
    career_solutions.views, 
    career_solutions.optional, 
    career_solutions.on_offer, 
    users.username, 
    users.profile_picture, 
    categories.category, 
    categories.category_url,
    categories.color, 
    career_solutions_categories.category as sub_category 

    FROM career_solutions 

    INNER JOIN categories 
        ON categories.id = career_solutions.topic_category_id 

    INNER JOIN career_solutions_categories 
        ON career_solutions_categories.id = career_solutions.topic_subcategory_id 

    INNER JOIN users 
        ON users.id = career_solutions.user_id 

    INNER JOIN privacy_settings 
        ON privacy_settings.user_id = users.id 

    WHERE users.deleted_at IS NULL 
    AND (
            (privacy_settings.career_solutions = 0 AND public = 1 ) 
            OR (users.id IN (

                SELECT contacts.contact_id 
                FROM contacts 
                WHERE contacts.user_id = $id
                )
            )
        ) 

    OR users.id = $id

    ORDER BY date desc limit 5000
");
  • 写回答

1条回答 默认 最新

  • doushi3322 2019-07-11 13:50
    关注

    I'm not 100% sure on this, and it likely doesn't work.

    BUT - it will give you a good start point on rebuilding this query in Eloquent.

    There's probably a better way of doing this, but again, this is more for a starting point. You really should be trying to learn Eloquent better as it's a pretty powerful and fluent ORM. (It reads so much better than T-SQL!).

    But it'll look something along these lines anyways:

    CareerSolutions::with(
        [
            'categories',
            'categories.career_solutions_categories',
            'users',
            'users.privacy_settings'
        ], function($query) {
            $query->where('users.privacy_settings.career_solutions', 0);
            $query->where('users.privacy_settings.public', 1);
            $query->orWhereIn('contacts.contact_id', function() {
                Contact::where('user_id', $id)->pluck('id');
            });
        }
    )->orWhere('users.id', $id)->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)