簡體   English   中英

Laravel 5.3:多對多房地產的數據

[英]Laravel 5.3 : Many to many realtionship's data

我與UserProject之間有很多關系

房地產名稱是: User模型具有projectsProject模型具有users 並正確形成。

我在數據表中使用以下代碼:

public function handleProjects(Request $request)
    {
        $responseData = \App\Misc::handleDatatable([
            "request" => $request,
            "model" => "\App\Project",
            "actions" => [
            "delete" => function($records) {
                foreach($records as $record) {
                    $record->delete();
                }
                return [
                "status" => "OK",
                "message" => "Successfully deleted the selected product types!",
                ];
            },
            ],
            "columns" => [
            "title" => "title",
            "users.username" => "users.username",
            "level" => "level",
            "users.username" => "users.username",
            "created_at" =>  function($value) {
                return $value->diffForHumans();
            }
            ],
            ]);
        return response()->json($responseData);
    }

注意"users.username" => "users.username",最后八行,如何從users表中獲取用戶名?

關系名稱如上所述。

它給了我以下錯誤:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.username' in 'field list' (SQL: SELECT projects.*, categories.name AS b74HW, subcategory.name AS rLTng, users.username AS fUfHg from `projects` left join `categories` as `categories` on `categories`.`id` = `projects`.`categories_id` left join `sub_category` as `subcategory` on `subcategory`.`id` = `projects`.`subcategory_id` group by `id` order by `projects`.`id` desc limit 15 offset 0) 

錯誤很直接。 您沒有在查詢中使用聯接,因此假設您有一個名為users.username的列,並且在users表中有一個列的用戶名。

您如何稱呼關系? 就像是:

$data = Users::find(1)->with('projects')->get(); //this user with id 1, and eager load the relation.

另外,不要忘記循環遍歷以下結果:

foreach($data->projects as $project) { ... }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM