Relationship field problem: Uninitialized string offset: 0 in

setup_postdata()requires a post object such what you would get by using the global $post. You are using a custom field, presumably from ACF, and calling it $post. The problem is that it is not an object.

You can use the field $designer in a customised post loop like so:

<?php 
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post(); 

        $designer = get_field('designer'); 

        if($designer){
           the_field('designer');
        }
    } 
} 

Another way to solve this might be to make sure the designer custom field returns a post object. To see the value of get_field('designer') you can do something like:

$designer = get_field('designer');
var_dump($designer);

A post object will contain all the relevant information (title, content, etc.).